sp_pkeys (Transact-SQL)
Retorna informações de chave primária para uma única tabela no ambiente atual.
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';