sp_pkeys (Transact-SQL)
Retorna informações de chave primária para uma única tabela no ambiente atual.
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 conforme listado na tabela sys.columns. Este 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 permissão SELECT no esquema.
Exemplos
O exemplo a seguir recupera a chaves primária para a tabela HumanResources.Department no banco de dados AdventureWorks2008R2.
USE AdventureWorks2008R2;
GO
EXEC sp_pkeys @table_name = N'Department'
,@table_owner = N'HumanResources';
Consulte também