SQL Pass-Through Facility Specifics for Greenplum

Key Information

For general information about this feature, see SQL Pass-Through Facility.

Here are the SQL pass-through facility specifics for the Greenplum interface.

CONNECT Statement Example

This example uses the DBCON alias to connect to the greenplum04 Greenplum server database and execute a query. The connection alias is optional.

proc sql;
   connect to greenplm as dbcon
   (server=greenplum04 db=sample port=5432 user=gpusr1 password=gppwd1);
select * from connection to dbcon
   (select * from customers where customer like '1%');
quit;

Special Catalog Queries

SAS/ACCESS Interface to Greenplum supports the following special queries. You can use the queries to call functions in ODBC-style function application programming interfaces (APIs). Here is the general format of the special queries:

Greenplum::SQLAPI 'parameter–1', 'parameter-n'
Greenplum::

is required to distinguish special queries from regular queries. Greenplum:: is not case sensitive.

SQLAPI

is the specific API that is being called. SQLAPI is not 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 myatest and my_test:

select * from connection to greenplm 
  (Greenplum::SQLTables "test","","my_test");

Use the escape character to search only for the my_test table:

select * from connection to greenplm 
  (Greenplum::SQLTables "test","","my\_test");

SAS/ACCESS Interface to Greenplum supports these special queries.

Greenplum::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.

Greenplum::SQLColumns <'Catalog', 'Schema', 'Table-name', 'Column-name'>

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.

Greenplum::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.

Greenplum::SQLPrimaryKeys <'Catalog', 'Schema', 'Table-name' 'Type' >

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.

Greenplum::SQLStatistics <'Catalog', 'Schema', 'Table-name'>

returns a list of the statistics for the specified table name. You can specify the SQL_INDEX_ALL and SQL_ENSURE options in the SQLStatistics API call. If you do not specify any table name argument, this special query fails.

Greenplum::SQLGetTypeInfo

returns information about the data types that the Greenplum database supports.

Last updated: February 3, 2026