Compartilhar via


sp_primarykeys (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de sintaxe 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 a partir do qual as informações de chave primária devem ser retornadas. table_server é sysname, sem padrão.

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

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

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

Valores de 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-se 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 column são passados para essa interface a fim de 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 AdventureWorks2008R2.

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