Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di
AzureIstanza gestita di SQL di
AzureAzure Synapse Analytics
Piattaforma di analisi (PDW)
Warehouse in Microsoft Fabric
Database SQL in Microsoft Fabric
Restituisce informazioni sulle chiavi primarie di una tabella dell'ambiente corrente.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
Sintassi per SQL Server, database SQL di Azure, Azure Synapse Analytics, Analytics Platform System (PDW).
sp_pkeys
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ ; ]
Argomenti
[ @table_name = ] N'table_name'
Specifica la tabella per cui restituire informazioni. @table_name è sysname, senza impostazione predefinita. La corrispondenza dei criteri con caratteri jolly non è supportata.
[ @table_owner = ] N'table_owner'
Viene indicato il proprietario della tabella specificata.
@table_owner è sysname, con il valore predefinito NULL. La corrispondenza dei criteri con caratteri jolly non è supportata. Se @table_owner non viene specificato, si applicano le regole di visibilità della tabella predefinite del sistema di gestione del database sottostante ( DBMS).
In SQL Server, se l'utente corrente è proprietario di una tabella con il nome specificato, vengono restituite le colonne della tabella. Se il @table_owner non è specificato e l'utente corrente non possiede una tabella con il @table_name specificato, questa procedura cerca una tabella con il @table_name specificato di proprietà del proprietario del database. Se viene individuata, vengono restituite le colonne di tale tabella.
[ @table_qualifier = ] N'table_qualifier'
Qualificatore di tabella.
@table_qualifier è sysname, con un valore predefinito .NULL Vari prodotti DBMS supportano la denominazione in tre parti per le tabelle (<qualifier>.<owner>.<name>). In SQL Server questa colonna rappresenta il nome del database. In alcuni prodotti rappresenta il nome del server dell'ambiente di database della tabella.
Valori del codice restituito
Nessuno.
Set di risultati
| Nome colonna | Tipo di dati | Descrizione |
|---|---|---|
TABLE_QUALIFIER |
sysname | Nome del qualificatore della tabella. Questo campo può essere NULL. |
TABLE_OWNER |
sysname | Nome del proprietario della tabella. Questo campo restituisce sempre un valore. |
TABLE_NAME |
sysname | Nome della tabella. In SQL Server questa colonna rappresenta il nome della tabella elencato nella tabella sysobjects. Questo campo restituisce sempre un valore. |
COLUMN_NAME |
sysname | Nome della colonna, per ogni colonna dell'oggetto TABLE_NAME restituito. In SQL Server questa colonna rappresenta il nome della colonna come elencato nella sys.columns tabella. Questo campo restituisce sempre un valore. |
KEY_SEQ |
smallint | Numero sequenziale della colonna in una chiave primaria a più colonne. |
PK_NAME |
sysname | Identificatore della chiave primaria. Restituisce NULL se non applicabile all'origine dati. |
Osservazioni:
sp_pkeys restituisce informazioni sulle colonne definite in modo esplicito con un PRIMARY KEY vincolo. Dato che le chiavi primarie denominate in modo esplicito non sono supportate in tutti i sistemi, lo strumento di implementazione che regola gli scambi tra i sistemi determina l'elemento che corrisponde a una chiave primaria. Il termine chiave primaria si riferisce a una chiave primaria logica per una tabella. Ogni chiave elencata come chiave primaria logica deve avere un indice univoco definito. Questo indice univoco viene restituito anche in sp_statistics.
La sp_pkeys stored procedure equivale a SQLPrimaryKeys in ODBC. I risultati vengono ordinati in TABLE_QUALIFIERbase a , TABLE_OWNERTABLE_NAME, e KEY_SEQ.
Autorizzazioni
È richiesta SELECT l'autorizzazione per lo schema.
Esempi
Gli esempi di codice in questo articolo usano il database di esempio AdventureWorks2025 o AdventureWorksDW2025, che è possibile scaricare dalla home page Microsoft SQL Server Samples and Community Projects.
Nell'esempio seguente viene recuperata la chiave primaria della tabella HumanResources.Department nel database AdventureWorks2025.
USE AdventureWorks2022;
GO
EXECUTE sp_pkeys
@table_name = N'Department',
@table_owner = N'HumanResources';
Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)
Nell'esempio seguente viene recuperata la chiave primaria della tabella DimAccount nel database AdventureWorksPDW2012. Restituisce zero righe che indicano che la tabella non ha una chiave primaria.
-- Uses AdventureWorksPDW
EXECUTE sp_pkeys @table_name = N'DimAccount';