Поделиться через


sp_primarykeys (Transact-SQL)

Область применения: SQL Server

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

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

Синтаксис

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

Аргументы

[ @table_server = ] N'table_server'

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

[ @table_name = ] N'table_name'

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

[ @table_schema = ] N'table_schema'

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

[ @table_catalog = ] N'table_catalog'

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

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

Нет.

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

Имя столбца Тип данных 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. Параметры передаются в этот интерфейс, чтобы ограничить возвращаемые строки.

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

Разрешения

Требуется SELECT разрешение на схему.

Примеры

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

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