sp_primarykeys (Transact-SQL)

Aplica-se a:SQL Server

Retorna as colunas de chave primária, uma linha por coluna de chave, da tabela remota especificada.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

[ @table_server = ] 'table_server'_ É o nome do servidor vinculado do qual retornar informações de chave primária. table_server é sysname, sem padrão.

[ @table_name = ] 'table_name' É o nome da tabela para a qual fornecer informações de chave primária. table_name é sysname, com um padrão de NULL.

[ @table_schema = ] 'table_schema' É o esquema da tabela. table_schema é sysname, com um padrão de NULL. No ambiente do SQL Server, isso corresponde ao proprietário da tabela.

[ @table_catalog = ] 'table_catalog'É o nome do catálogo no qual o table_name especificado reside. No ambiente do SQL Server, isso corresponde ao nome do banco de dados. table_catalog é sysname, com um padrão de NULL.

Valores do código de retorno

Nenhum

Conjuntos de resultados

Nome da coluna Tipo de dados Descrição
TABLE_CAT sysname Catálogo da tabela.
TABLE_SCHEM sysname Esquema da tabela.
TABLE_NAME sysname Nome da tabela.
COLUMN_NAME sysname Nome da coluna.
KEY_SEQ int Número de sequência da coluna em uma chave primária de várias colunas.
PK_NAME sysname Identificador da chave primária. Retorna NULL se não for aplicável à fonte de dados.

Comentários

sp_primarykeys é executado consultando o conjunto de linhas PRIMARY_KEYS da interface IDBSchemaRowset do provedor OLE DB correspondente a table_server. Os parâmetros table_name, table_schema, table_catalog e coluna são passados para essa interface para restringir as linhas retornadas.

sp_primarykeys retornará um conjunto de resultados vazio se o provedor OLE DB do servidor vinculado especificado não oferecer suporte ao conjunto de linhas PRIMARY_KEYS da interface IDBSchemaRowset.

Permissões

Requer a permissão SELECT no esquema.

Exemplos

O exemplo a seguir retorna as colunas da chave primária do servidor LONDON1 para a tabela HumanResources.JobCandidate no banco de dados AdventureWorks2022.

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

Confira também

Procedimentos armazenados de consultas distribuídas (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)
Procedimentos armazenados do sistema (Transact-SQL)