sp_primarykeys (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 2008 соответствует владельцу таблицы.[ @table_catalog = ] 'table_catalog'
Имя каталога, в котором расположена указанная таблица table_name. В среде SQL Server соответствует имени базы данных. Аргумент table_catalog имеет тип sysname и значение по умолчанию NULL.
Значения кодов возврата
Нет
Результирующие наборы
Имя столбца |
Тип данных |
Описание |
---|---|---|
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 и column.
Хранимая процедура sp_primarykeys возвращает пустой результирующий набор, если поставщик OLE DB указанного связанного сервера не поддерживает набор строк PRIMARY_KEYS интерфейса IDBSchemaRowset.
Разрешения
Необходимо разрешение SELECT для схемы.
Примеры
В следующем примере с сервера LONDON1 возвращаются столбцы первичного ключа для таблицы HumanResources.JobCandidate в базе данных AdventureWorks.
EXEC sp_primarykeys @table_server = N'LONDON1',
@table_name = N'JobCandidate',
@table_catalog = N'AdventureWorks',
@table_schema = N'HumanResources'
См. также