Arguments in Catalog Functions

All catalog functions accept arguments with which an application can restrict the scope of the data returned. For example, the first and second calls to SQLTables in the following code return a result set containing information about all tables, while the third call returns information about the Orders table:

SQLTables(hstmt1, NULL, 0, NULL, 0, NULL, 0, NULL, 0); 
SQLTables(hstmt2, NULL, 0, NULL, 0, "%", SQL_NTS, NULL, 0);
SQLTables(hstmt3, NULL, 0, NULL, 0, "Orders", SQL_NTS, NULL, 0);

Catalog function string arguments fall into four different types: ordinary arguments (OA), pattern value arguments (PV), identifier arguments (ID), and value list arguments (VL). Most string arguments can be of one of two different types, depending on the value of the SQL_ATTR_METADATA_ID statement attribute. The following table lists the arguments for each catalog function and describes the type of the argument for a SQL_TRUE or SQL_FALSE value of SQL_ATTR_METADATA_ID.



Function


Argument
Type when QL_
ATTR_METADATA_
ID = SQL_FALSE
Type when SQL_
ATTR_METADATA_
ID = SQL_TRUE
SQLColumnPrivileges CatalogName
SchemaName
TableName
ColumnName
OA
OA
OA
PV
ID
ID
ID
ID
SQLColumns CatalogName
SchemaName
TableName
ColumnName
OA
PV
PV
PV
ID
ID
ID
ID
SQLForeignKeys PKCatalogName
PKSchemaName
PKTableName
FKCatalogName
FKSchemaName
FKTableName
OA
OA
OA
OA
OA
OA
ID
ID
ID
ID
ID
ID
SQLPrimaryKeys CatalogName
SchemaName
TableName
OA
OA
OA
ID
ID
ID
SQLProcedureColumns CatalogName
SchemaName
ProcName
ColumnName
OA
PV
PV
PV
ID
ID
ID
ID
SQLProcedures CatalogName
SchemaName
ProcName
OA
PV
PV
ID
ID
ID
SQLSpecialColumns CatalogName
SchemaName
TableName
OA
OA
OA
ID
ID
ID
SQLStatistics CatalogName
SchemaName
TableName
OA
OA
OA
ID
ID
ID
SQLTablePrivileges CatalogName
SchemaName
TableName
OA
PV
PV
ID
ID
ID
SQLTables CatalogName
SchemaName
TableName
TableType
PV
PV
PV
VL
ID
ID
ID
VL