Freigeben über


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 = ] N'table_server'
    [ , [ @table_name = ] N'table_name' ]
    [ , [ @table_schema = ] N'table_schema' ]
    [ , [ @table_catalog = ] N'table_catalog' ]
[ ; ]

Argumente

[ @table_server = ] N'table_server'

Der Name des verknüpften Servers, von dem Primärschlüsselinformationen zurückgegeben werden sollen. @table_server ist "sysname" ohne Standard.

[ @table_name = ] N'table_name'

Der Name der Tabelle, für die Primärschlüsselinformationen bereitgestellt werden sollen. @table_name ist "sysname" mit einem Standardwert von NULL.

[ @table_schema = ] N'table_schema'

Das Tabellenschema. @table_schema ist "sysname" mit der Standardeinstellung "NULL. In der SQL Server-Umgebung entspricht dieser Wert dem Tabellenbesitzer.

[ @table_catalog = ] N'table_catalog'

Der Name des Katalogs, in dem sich die angegebene @table_name befindet. @table_catalog ist "sysname" mit einem Standardwert von NULL. In der SQL Server-Umgebung entspricht dieser Wert dem Datenbanknamen.

Rückgabecodewerte

Keine.

Resultset

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 dies nicht für die Datenquelle gilt.

Hinweise

sp_primarykeyswird durch Abfragen des PRIMARY_KEYS Rowset der IDBSchemaRowset Schnittstelle des OLE DB-Anbieters ausgeführt, der @table_server entspricht. Die Parameter werden an diese Schnittstelle übergeben, um die zurückgegebenen Zeilen einzuschränken.

sp_primarykeys gibt einen leeren 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 die SELECT-Berechtigung im 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';