Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Armazém no Microsoft Fabric
Base de dados SQL no Microsoft Fabric
Devolve informação primária de chave para uma única tabela no ambiente atual.
Transact-SQL convenções de sintaxe
Sintaxe
Syntax for SQL Server, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW).
sp_pkeys
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ ; ]
Arguments
[ @table_name = ] N'table_name'
Especifica a tabela para a qual devolver a informação. @table_name é sysname, sem padrão. A correspondência de padrões coringa não é suportada.
[ @table_owner = ] N'table_owner'
Especifica o proprietário da tabela especificada.
@table_owner é sysname, com o padrão de NULL. A correspondência de padrões coringa não é suportada. Se @table_owner não for especificado, aplicam-se as regras padrão de visibilidade de tabelas do sistema de gestão de bases de dados (SGBD) subjacente.
No SQL Server, se o utilizador atual possuir uma tabela com o nome especificado, as colunas dessa tabela são devolvidas. Se a @table_owner não for especificada, e o utilizador atual não possuir uma tabela com a @table_name especificada, este procedimento procura uma tabela com a @table_name especificada pertencente ao dono da base de dados. Se existir, as colunas dessa tabela são devolvidas.
[ @table_qualifier = ] N'table_qualifier'
O qualificador da tabela.
@table_qualifier é sysname, com um padrão de NULL. Vários produtos SGBD suportam a nomenclatura em três partes para tabelas (<qualifier>.<owner>.<name>). No SQL Server, esta coluna representa o nome da base de dados. Em alguns produtos, representa o nome do servidor do ambiente de base de dados da tabela.
Valores de código de retorno
Nenhum.
Conjunto de resultados
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Nome do qualificador da tabela. Este campo pode ser NULL. |
TABLE_OWNER |
sysname | Nome do dono da mesa. Este campo devolve sempre um valor. |
TABLE_NAME |
sysname | Nome da tabela. No SQL Server, esta coluna representa o nome da tabela conforme listado na tabela sysobjects. Este campo devolve sempre um valor. |
COLUMN_NAME |
sysname | Nome da coluna, para cada coluna do TABLE_NAME devolvido. No SQL Server, esta coluna representa o nome da coluna conforme listado na sys.columns tabela. Este campo devolve sempre um valor. |
KEY_SEQ |
smallint | Número de sequência da coluna numa chave primária multicolunar. |
PK_NAME |
sysname | Identificador de chave primária. Retorna NULL se não for aplicável à fonte de dados. |
Observações
sp_pkeys devolve informação sobre colunas explicitamente definidas com uma PRIMARY KEY restrição. Como nem todos os sistemas suportam chaves primárias explicitamente nomeadas, o implementador do gateway determina o que constitui uma chave primária. O termo chave primária refere-se a uma chave primária lógica para uma tabela. Espera-se que cada chave listada como sendo uma chave primária lógica tenha um índice único definido. Este índice único também é devolvido em sp_statistics.
O sp_pkeys procedimento armazenado é equivalente a SQLPrimaryKeys no ODBC. Os resultados estão ordenados por TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, e KEY_SEQ.
Permissions
Requer SELECT permissão no esquema.
Examples
Os exemplos de código neste artigo usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que pode ser descarregado da página inicial de Exemplos e Projetos da Comunidade do Microsoft SQL Server.
O exemplo seguinte recupera a chave primária da HumanResources.Department tabela na AdventureWorks2025 base de dados.
USE AdventureWorks2022;
GO
EXECUTE sp_pkeys
@table_name = N'Department',
@table_owner = N'HumanResources';
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
O exemplo seguinte recupera a chave primária da DimAccount tabela na AdventureWorksPDW2012 base de dados. Devolve zero linhas, indicando que a tabela não tem uma chave primária.
-- Uses AdventureWorksPDW
EXECUTE sp_pkeys @table_name = N'DimAccount';