Compartilhar via


sp_primarykeys (Transact-SQL)

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

Argumentos

@table_server [ = ] N'table_server'

O nome do servidor vinculado do qual retornar informações de chave primária. @table_server é sysname, sem padrão.

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

O esquema da tabela. @table_schema é sysname, com um padrão de NULL. No ambiente do SQL Server, esse valor corresponde ao proprietário da tabela.

@table_catalog [ = ] N'table_catalog'

O nome do catálogo no qual o @table_name especificado reside. @table_catalog é sysname, com um padrão de NULL. No ambiente do SQL Server, esse valor corresponde ao nome do banco de dados.

Valores do código de retorno

Nenhum.

Conjunto 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 PRIMARY_KEYS IDBSchemaRowset conjunto de linhas da interface do provedor OLE DB correspondente a @table_server. Os parâmetros 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 der suporte ao PRIMARY_KEYS IDBSchemaRowset conjunto de linhas da interface.

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';