SQLPrimaryKeys
Eine Tabelle kann über eine Spalte oder Spalten verfügen, die als eindeutige Zeilenbezeichner dienen können. Tabellen, die ohne PRIMARY KEY-Einschränkung erstellt werden, geben ein leeres Resultset an SQLPrimaryKeys zurück. Die ODBC Funktion SQLSpecialColumns meldet Zeilenbezeichnerkandidaten für Tabellen ohne Primärschlüssel.
SQLPrimaryKeys gibt SQL_SUCCESS zurück, unabhängig davon, ob Werte für die CatalogName-, SchemaName- oder TableName-Parameter vorhanden sind. SQLFetch gibt SQL_NO_DATA zurück, wenn in diesen Parametern ungültige Werte verwendet werden.
SQLPrimaryKeys kann in einem statischen Servercursor ausgeführt werden. Wenn SQLPrimaryKeys in einem aktualisierbaren Cursor (dynamischer Cursor oder Keysetcursor) ausgeführt wird, wird SQL_SUCCESS_WITH_INFO zurückgegeben. Das bedeutet, dass der Cursortyp geändert wurde.
Der SQL Server Native Client-ODBC-Treiber unterstützt die Meldung von Informationen für Tabellen auf Verbindungsservern, indem er einen zweiteiligen Namen für den CatalogName-Parameter unterstützt: Linked_Server_Name.Catalog_Name.
SQLPrimaryKeys und Tabellenwertparameter
Wenn das SQL_SOPT_SS_NAME_SCOPE-Anweisungsattribut den Wert SQL_SS_NAME_SCOPE_TABLE_TYPE statt seines Standardwerts SQL_SS_NAME_SCOPE_TABLE aufweist, gibt SQLPrimaryKeys Informationen zu Primärschlüsselspalten von Tabellentypen wieder. Weitere Informationen zu SQL_SOPT_SS_NAME_SCOPE finden Sie unter SQLSetStmtAttr.
Weitere Informationen zu Tabellenwertparametern finden Sie unter Tabellenwertparameter (ODBC).