SQLPrimaryKeys
A table may have a column or columns that can serve as unique row identifiers, and tables created without a PRIMARY KEY constraint return an empty result set to SQLPrimaryKeys. The ODBC function SQLSpecialColumns reports row identifier candidates for tables without primary keys.
SQLPrimaryKeys returns SQL_SUCCESS whether or not values exist for CatalogName, SchemaName, or TableName parameters. SQLFetch returns SQL_NO_DATA when invalid values are used in these parameters.
SQLPrimaryKeys can be executed on a static server cursor. An attempt to execute SQLPrimaryKeys on an updatable (dynamic or keyset) cursor will return SQL_SUCCESS_WITH_INFO indicating that the cursor type has been changed.
The SQL Native Client ODBC driver supports reporting information for tables on linked servers by accepting a two-part name for the CatalogName parameter: Linked_Server_Name.Catalog_Name.
See Also
Concepts
ODBC API Implementation Details