Introduction to In-Database Procedures

Using conventional processing, a SAS procedure (by means of the SAS/ACCESS engine) receives all the rows of the table from the database. All processing is done by the procedure. Large tables mean that a significant amount of data must be transferred.
Using the new in-database technology, the procedures that are enabled for processing inside the database generate more sophisticated queries. These queries allow the aggregations and analytics to be run inside the database. Some of the in-database procedures generate SQL procedure syntax and use implicit pass-through to generate the native SQL. Other in-database procedures generate native SQL and use explicit pass-through. For more information about how a specific procedure works inside the database, see the documentation for that procedure.
The queries submitted by SAS in-database procedures reference DBMS SQL functions and, in some cases, the special SAS functions that are deployed inside the database. One example of a special SAS function is the SAS_PUT( ) function that enables you to execute PUT function calls inside the database. Other examples are SAS functions for computing sum-of-squares-and-crossproducts (SSCP) matrices.
For most in-database procedures, a much smaller result set is returned for the remaining analysis that is required to produce the final output. As a result of using the in-database procedures, more work is done inside the database, and less data movement can occur. This could result in significant performance improvements.
This diagram illustrates the in-database procedure process.
Process Flow Diagram
Process Flow Diagram for In-Database Procedures