sp_primarykeys (Transact-SQL)

Применимо к:SQL Server

Возвращает столбцы первичных ключей для указанной удаленной таблицы по одной строке на ключевой столбец.

Соглашения о синтаксисе Transact-SQL

Синтаксис

  
sp_primarykeys [ @table_server = ] 'table_server'   
     [ , [ @table_name = ] 'table_name' ]   
     [ , [ @table_schema = ] 'table_schema' ]   
     [ , [ @table_catalog = ] 'table_catalog' ]  

Аргументы

[ @table_server = ] 'table_server'_ Имя связанного сервера, из которого возвращаются сведения о первичном ключе. table_server — sysname без значения по умолчанию.

[ @table_name = ] 'table_name' Имя таблицы, для которой предоставляются сведения о первичном ключе. table_name имеет имя sysname с значением NULL по умолчанию.

[ @table_schema = ] 'table_schema' Схема таблицы. table_schema — sysname с значением NULL по умолчанию. В среде SQL Server это соответствует владельцу таблицы.

[ @table_catalog = ] 'table_catalog' Имя каталога, в котором находится указанный table_name . В среде SQL Server это соответствует имени базы данных. table_catalog — sysname с значением NULL по умолчанию.

Значения кода возврата

нет

Результирующие наборы

Имя столбца Тип данных Description
TABLE_CAT sysname Каталог таблицы.
TABLE_SCHEM sysname Схема таблицы.
TABLE_NAME sysname Имя таблицы.
COLUMN_NAME sysname Имя столбца.
KEY_SEQ int Порядковый номер столбца в первичном ключе, состоящем из нескольких столбцов.
PK_NAME sysname Идентификатор первичного ключа. Возвращает NULL, если не применим к источнику данных.

Замечания

sp_primarykeys выполняется путем запроса набора строк PRIMARY_KEYS интерфейса IDBSchemaRowset поставщика OLE DB, соответствующего table_server. Параметры table_name, table_schema, table_catalog и столбцов передаются в этот интерфейс, чтобы ограничить возвращаемые строки.

sp_primarykeys возвращает пустой результирующий набор, если поставщик OLE DB указанного связанного сервера не поддерживает набор строк PRIMARY_KEYS интерфейса IDBSchemaRowset.

Разрешения

Необходимо разрешение SELECT для схемы.

Примеры

В следующем примере с сервера LONDON1 возвращаются первичные ключевые столбцы для таблицы HumanResources.JobCandidate в базе данных AdventureWorks2022.

EXEC sp_primarykeys @table_server = N'LONDON1',   
   @table_name = N'JobCandidate',  
   @table_catalog = N'AdventureWorks2022',   
   @table_schema = N'HumanResources';  

См. также

Хранимые процедуры распределенных запросов (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)
Системные хранимые процедуры (Transact-SQL)