Événement
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
Inscrivez-vous aujourd’huiCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
S’applique à : ENTREPÔT PDW (SQL
Database) Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Dans Microsoft Fabric
Renvoie des informations de clé primaire pour une table de l'environnement actif.
Conventions de la syntaxe Transact-SQL
Syntaxe pour 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' ]
[ ; ]
Spécifie la table pour laquelle retourner des informations. @table_name est sysname, sans valeur par défaut. La correspondance des modèles génériques n’est pas prise en charge.
Spécifie le propriétaire de la table désignée. @table_owner est sysname, avec la valeur par défaut NULL
. La correspondance des modèles génériques n’est pas prise en charge. Si @table_owner n’est pas spécifié, les règles de visibilité de table par défaut du système de gestion de base de données sous-jacent (SGBD) s’appliquent.
Dans SQL Server, si l’utilisateur actuel est propriétaire d’une table portant le nom spécifié, les colonnes de cette table sont renvoyées. Si le @table_owner n’est pas spécifié et que l’utilisateur actuel ne possède pas de table avec le @table_name spécifié, cette procédure recherche une table avec le @table_name spécifié appartenant au propriétaire de la base de données. Si la recherche de la table aboutit, ce sont les colonnes de cette dernière qui sont retournées.
Qualificateur de table. @table_qualifier est sysname, avec la valeur par défaut NULL
. Différents produits SGBD prennent en charge le nommage en trois parties pour les tables (<qualifier>.<owner>.<name>
). Dans SQL Server, cette colonne représente le nom de la base de données. Dans certains produits, elle représente le nom du serveur de l'environnement de base de données de la table.
Aucune.
Nom de la colonne | Type de données | Description |
---|---|---|
TABLE_QUALIFIER |
sysname | Nom du qualificateur de table. Ce champ peut être NULL . |
TABLE_OWNER |
sysname | Nom du propriétaire de la table. Ce champ retourne toujours une valeur. |
TABLE_NAME |
sysname | Nom de la table. Dans SQL Server, cette colonne représente le nom de la table tel qu’il figure dans la table sysobjects. Ce champ retourne toujours une valeur. |
COLUMN_NAME |
sysname | Nom de la colonne, pour chaque colonne du TABLE_NAME retour. Dans SQL Server, cette colonne représente le nom de la colonne comme indiqué dans la sys.columns table. Ce champ retourne toujours une valeur. |
KEY_SEQ |
smallint | Numéro de séquence de la colonne dans une clé primaire multicolonne. |
PK_NAME |
sysname | Identificateur de clé primaire. Retourne NULL si elle n’est pas applicable à la source de données. |
sp_pkeys
retourne des informations sur les colonnes explicitement définies avec une PRIMARY KEY
contrainte. Comme tous les systèmes ne prennent en charge pas les clés primaires explicitement nommées, la personne chargée de la mise en œuvre des passerelles détermine ce qui constitue une clé primaire. Le terme clé primaire fait référence à une clé primaire logique pour une table. Chaque clé répertoriée comme étant une clé primaire logique est censée avoir un index unique défini dessus. Cet index unique est également retourné dans sp_statistics
.
La sp_pkeys
procédure stockée est équivalente à SQLPrimaryKeys
ODBC. Les résultats sont classés par TABLE_QUALIFIER
, TABLE_OWNER
, TABLE_NAME
et KEY_SEQ
.
Nécessite l’autorisation SELECT
sur le schéma.
Les exemples de code Transact-SQL de cet article sont fondés sur l’échantillon de base de données AdventureWorks2022
ou AdventureWorksDW2022
fourni, que vous pouvez télécharger à partir de la page d’accueil Échantillons et projets communautaires Microsoft SQL Server.
L'exemple suivant extrait la clé primaire de la table HumanResources.Department
dans la base de données AdventureWorks2022
.
USE AdventureWorks2022;
GO
EXEC sp_pkeys @table_name = N'Department',
@table_owner = N'HumanResources';
L'exemple suivant extrait la clé primaire de la table DimAccount
dans la base de données AdventureWorksPDW2012
. Elle retourne zéro ligne indiquant que la table n’a pas de clé primaire.
-- Uses AdventureWorksPDW
EXEC sp_pkeys @table_name = N'DimAccount';
Événement
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
Inscrivez-vous aujourd’hui