sp_pkeys (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de 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 de tabela da tabela especificada. owner é sysname, com um padrão 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 NULL. Vários produtos de DBMS dão suporte à nomeação de três partes de tabelas (qualificador**.proprietário.**nome). No SQL Server, esta coluna representa o nome do banco de dados. Em alguns produtos, 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. Este campo pode ser NULL.

TABLE_OWNER

sysname

Nome do proprietário da tabela. Este 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. Este campo sempre retorna um valor.

COLUMN_NAME

sysname

Nome da coluna, para cada coluna de TABLE_NAME retornado. No SQL Server, esta coluna representa o nome de coluna como listado na tabela sys.columns. Este campo sempre retorna um valor.

KEY_SEQ

smallint

Número de seqüê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_fkeys é equivalente a SQLForeignKeys em ODBC. Os resultados retornados são ordenados porTABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME e KEY_SEQ.

Permissões

Requer permissão SELECT no esquema.

Exemplos

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

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