SQL Pass-Through Facility Specifics for Netezza

Key Information

For general information about this feature, see About SQL Procedure Interactions . Netezza examples are available.
Here are the SQL pass-through facility specifics for the Netezza interface.
  • The dbms-name is NETEZZA.
  • The CONNECT statement is required.
  • PROC SQL supports multiple connections to Netezza. If you use multiple simultaneous connections, you must use the alias argument to identify the different connections. If you do not specify an alias, the default netezza alias is used.
  • The CONNECT statement database-connection-arguments are identical to its LIBNAME connection-options.

CONNECT Statement Examples

This example uses the DBCON alias to connection to the mynpssrv Netezza Performance Server and execute a query. The connection alias is optional.
proc sql;
   connect to netezza as dbcon
   (server=mynpssrv database=test user=myuser password=mypwd);
select * from connection to dbcon
   (select * from customers where customer like '1%');
quit;

Special Catalog Queries

SAS/ACCESS Interface to Netezza supports the following special queries. You can the queries use to call the ODBC-style catalog function application programming interfaces (APIs). Here is the general format of the special queries:
Netezza::SQLAPI “parameter 1”,”parameter n
Netezza::
is required to distinguish special queries from regular queries.
SQLAPI
is the specific API that is being called. Neither Netezza:: nor SQLAPI are case sensitive.
"parameter n"
is a quoted string that is delimited by commas.
Within the quoted string, two characters are universally recognized: the percent sign (%) and the underscore (_). The percent sign matches any sequence of zero or more characters, and the underscore represents any single character. To use either character as a literal value, you can use the backslash character (\) to escape the match characters. For example, this call to SQLTables usually matches table names such as mytest and my_test:
select * from connection to netezza (NETEZZA::SQLTables "test","","my_test");
Use the escape character to search only for the my_test table:
select * from connection to netezza (NETEZZA::SQLTables "test","","my\_test");
SAS/ACCESS Interface to Netezza supports these special queries:
Netezza::SQLTables <"Catalog", "Schema", "Table-name", "Type">
returns a list of all tables that match the specified arguments. If you do not specify any arguments, all accessible table names and information are returned.
Netezza::SQLColumns <"Catalog", "Schema", "Table-name", "Column-name">
returns a list of all columns that match the specified arguments. If you do not specify any argument, all accessible column names and information are returned.
Netezza::SQLPrimaryKeys <"Catalog", "Schema", "Table-name">
returns a list of all columns that compose the primary key that matches the specified table. A primary key can be composed of one or more columns. If you do not specify any table name, this special query fails.
Netezza::SQLSpecialColumns <"Identifier-type", "Catalog-name", "Schema-name", "Table-name", "Scope", "Nullable">
returns a list of the optimal set of columns that uniquely identify a row in the specified table.
Netezza::SQLStatistics <"Catalog", "Schema", "Table-name">
returns a list of the statistics for the specified table name, with options of SQL_INDEX_ALL and SQL_ENSURE set in the SQLStatistics API call. If you do not specify any table name argument, this special query fails.
Netezza::SQLGetTypeInfo
returns information about the data types that the Netezza Performance Server supports.