sp_primarykeys (Transact-SQL)
Gilt für: SQL Server
Gibt für die angegebene Remotetabelle die Primärschlüsselspalten zurück, wobei pro Schlüsselspalte eine Zeile ausgegeben wird.
Transact-SQL-Syntaxkonventionen
Syntax
sp_primarykeys [ @table_server = ] 'table_server'
[ , [ @table_name = ] 'table_name' ]
[ , [ @table_schema = ] 'table_schema' ]
[ , [ @table_catalog = ] 'table_catalog' ]
Argumente
[ @table_server = ] 'table_server'_
Ist der Name des verknüpften Servers, von dem Primärschlüsselinformationen zurückgegeben werden sollen. table_server ist "sysname" ohne Standard.
[ @table_name = ] 'table_name'
Ist der Name der Tabelle, für die Primärschlüsselinformationen bereitgestellt werden sollen. table_name ist "sysname" mit dem Standardwert NULL.
[ @table_schema = ] 'table_schema'
Ist das Tabellenschema. table_schema ist "sysname" mit dem Standardwert NULL. In der SQL Server-Umgebung entspricht dies dem Tabellenbesitzer.
[ @table_catalog = ] 'table_catalog'
Ist der Name des Katalogs, in dem sich die angegebene table_name befindet. In der SQL Server-Umgebung entspricht dies dem Datenbanknamen. table_catalog ist "sysname" mit dem Standardwert NULL.
Rückgabecodewerte
Keine
Resultsets
Spaltenname | Datentyp | Beschreibung |
---|---|---|
TABLE_CAT | sysname | Der Tabellenkatalog |
TABLE_SCHEM | sysname | Tabellenschema |
TABLE_NAME | sysname | Der Name der Tabelle. |
COLUMN_NAME | sysname | Name der Spalte. |
KEY_SEQ | int | Die Sequenznummer der Spalte bei einem Primärschlüssel, der durch mehrere Spalten definiert wird. |
PK_NAME | sysname | Der Primärschlüsselbezeichner. Gibt NULL zurück, wenn nicht auf die Datenquelle anwendbar |
Hinweise
sp_primarykeys wird durch Abfragen des PRIMARY_KEYS Rowset der IDBSchemaRowset-Schnittstelle des OLE DB-Anbieters ausgeführt, der table_server entspricht. Die Parameter table_name, table_schema, table_catalog und Spalten werden an diese Schnittstelle übergeben, um die zurückgegebenen Zeilen einzuschränken.
sp_primarykeys gibt ein leeres Resultset zurück, wenn der OLE DB-Anbieter des angegebenen verknüpften Servers das PRIMARY_KEYS Rowset der IDBSchemaRowset-Schnittstelle nicht unterstützt.
Berechtigungen
Erfordert SELECT-Berechtigung für das Schema.
Beispiele
Im folgenden Beispiel werden Primärschlüsselspalten vom Server LONDON1
für die HumanResources.JobCandidate
-Tabelle in der AdventureWorks2022
-Datenbank zurückgegeben.
EXEC sp_primarykeys @table_server = N'LONDON1',
@table_name = N'JobCandidate',
@table_catalog = N'AdventureWorks2022',
@table_schema = N'HumanResources';
Weitere Informationen
Gespeicherte Prozeduren für verteilte Abfragen (Transact-SQL)
sp_catalogs (Transact-SQL)
sp_column_privileges (Transact-SQL)
sp_foreignkeys (Transact-SQL)
sp_indexes (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_tables_ex (Transact-SQL)
sp_table_privileges (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)