Partilhar via


sp_pkeys (Transact-SQL)

Retorna informações de chave primária para uma única tabela no ambiente atual.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

sp_pkeys [ @table_name = ] 'name'     
      [ , [ @table_owner = ] 'owner' ] 
   [ , [ @table_qualifier = ] 'qualifier' ]

Argumentos

  • [ @table\_name= ] 'name'
    É a tabela para a qual as informações devem ser retornadas. name é sysname, sem nenhum padrão. Não há suporte para a correspondência de padrão curinga.

  • [ @table\_owner= ] 'owner'
    Especifica o proprietário da tabela especificada. owner é sysname, com um padrão de NULL. Não há suporte para a correspondência de padrão curinga. Se owner não for especificado, serão aplicadas as regras de visibilidade de tabela padrão do DBMS subjacente.

    No SQL Server, se o usuário atual possuir uma tabela com o nome especificado, as colunas dessa tabela serão retornadas. Se owner não for especificado e o usuário atual não possuir uma tabela com name especificado, este procedimento procurará uma tabela com name especificado que pertença ao proprietário do banco de dados. Caso exista, as colunas dessa tabela serão retornadas.

  • [ @table\_qualifier= ] 'qualifier'
    É o qualificador da tabela. qualifier é sysname, com um padrão de NULL. Vários produtos DBMS dão suporte à nomenclatura de três partes de tabelas (qualifier**.owner.**name). No SQL Server, essa coluna representa o nome do banco de dados. Em alguns produtos, ela representa o nome do servidor do ambiente de banco de dados da tabela.

Valores de código de retorno

Nenhum

Conjuntos de resultados

Nome da coluna

Tipo de dados

Descrição

TABLE_QUALIFIER

sysname

Nome do qualificador da tabela. Esse campo pode ser NULL.

TABLE_OWNER

sysname

Nome do proprietário da tabela. Esse campo sempre retorna um valor.

TABLE_NAME

sysname

Nome da tabela. No SQL Server, esta coluna representa o nome de tabela como listado na tabela sysobjects. Esse campo sempre retorna um valor.

COLUMN_NAME

sysname

Nome da coluna para cada coluna retornada do TABLE_NAME. No SQL Server, esta coluna representa o nome da coluna, conforme listado na tabela sys.columns. Esse campo sempre retorna um valor.

KEY_SEQ

smallint

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_pkeys retorna informações sobre colunas explicitamente definidas com uma restrição PRIMARY KEY. Como nem todos os sistemas oferecem suporte a chaves primárias explicitamente nomeadas, o implementador de gateway determina o que constitui uma chave primária. Observe que o termo chave primária refere-se a uma chave primária lógica para uma tabela. Espera-se que cada chave listada como chave primária lógica tenha um índice exclusivo definido. Esse índice exclusivo também é retornado em sp_statistics.

O procedimento armazenado sp_pkeys é equivalente a SQLPrimaryKeys no ODBC. Os resultados retornados são ordenados por TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME e KEY_SEQ.

Permissões

Requer a permissão SELECT no esquema.

Exemplos

O exemplo a seguir recupera a chaves primária para a tabela HumanResources.Department no banco de dados AdventureWorks2012.

USE AdventureWorks2012;
GO
EXEC sp_pkeys @table_name = N'Department'
    ,@table_owner = N'HumanResources';

Consulte também

Referência

procedimentos armazenados do catálogo (Transact-SQL)

Procedimentos armazenados do sistema (Transact-SQL)