sp_foreignkeys (Transact-SQL)
S'applique à : SQL Server
Retourne les clés étrangères faisant référence aux clés primaires de la table du serveur lié.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_foreignkeys [ @table_server = ] 'table_server'
[ , [ @pktab_name = ] 'pktab_name' ]
[ , [ @pktab_schema = ] 'pktab_schema' ]
[ , [ @pktab_catalog = ] 'pktab_catalog' ]
[ , [ @fktab_name = ] 'fktab_name' ]
[ , [ @fktab_schema = ] 'fktab_schema' ]
[ , [ @fktab_catalog = ] 'fktab_catalog' ]
Arguments
[ @table_server = ] 'table_server'
Nom du serveur lié pour lequel retourner les informations de table. table_server est sysname, sans valeur par défaut.
[ @pktab_name = ] 'pktab_name'
Nom de la table avec une clé primaire. pktab_name est sysname, avec une valeur par défaut null.
[ @pktab_schema = ] 'pktab_schema'
Nom du schéma avec une clé primaire. pktab_schema est sysname, avec une valeur par défaut null. Dans SQL Server, il contient le nom du propriétaire.
[ @pktab_catalog = ] 'pktab_catalog'
Nom du catalogue avec une clé primaire. pktab_catalog est sysname, avec la valeur null par défaut. Dans SQL Server, il contient le nom de la base de données.
[ @fktab_name = ] 'fktab_name'
Nom de la table avec une clé étrangère. fktab_name est sysname, avec une valeur par défaut null.
[ @fktab_schema = ] 'fktab_schema'
Nom du schéma avec une clé étrangère. fktab_schema est sysname, avec la valeur null par défaut.
[ @fktab_catalog = ] 'fktab_catalog'
Nom du catalogue avec une clé étrangère. fktab_catalog est sysname, avec la valeur null par défaut.
Codet de retour
Aucun
Jeux de résultats
Différents produits SGBD prennent en charge le nommage en trois parties pour les tables (catalogue.schéma.table), qui est représentée dans le jeu de résultats.
Nom de la colonne | Type de données | Description |
---|---|---|
PKTABLE_CAT | sysname | Catalogue de la table contenant la clé primaire. |
PKTABLE_SCHEM | sysname | Schéma de la table contenant la clé primaire. |
PKTABLE_NAME | sysname | Nom de la table (contenant la clé primaire). Ce champ retourne toujours une valeur. |
PKCOLUMN_NAME | sysname | Nom de la colonne ou des colonnes de clé primaire, pour chaque colonne de la TABLE_NAME retournée. Ce champ retourne toujours une valeur. |
FKTABLE_CAT | sysname | Catalogue de la table contenant la clé étrangère. |
FKTABLE_SCHEM | sysname | Schéma de la table contenant la clé étrangère. |
FKTABLE_NAME | sysname | Nom de la table (contenant une clé étrangère). Ce champ retourne toujours une valeur. |
FKCOLUMN_NAME | sysname | Nom des colonnes de clé étrangère, pour chacune des colonnes de la table TABLE_NAME retournées. Ce champ retourne toujours une valeur. |
KEY_SEQ | smallint | Numéro de séquence de la colonne dans une clé primaire multicolonne. Ce champ retourne toujours une valeur. |
UPDATE_RULE | smallint | Action appliquée à la clé étrangère lorsque l'opération SQL est une mise à jour. SQL Server retourne 0, 1 ou 2 pour les colonnes suivantes : 0=Modifications de type CASCADE apportées à la clé étrangère. 1=Modifications de type NO ACTION en présence de clé étrangère. 2=SET_NULL ; affectation de NULL à la clé étrangère. |
DELETE_RULE | smallint | Action appliquée à la clé étrangère lorsque l'opération SQL est une suppression. SQL Server retourne 0, 1 ou 2 pour les colonnes suivantes : 0=Modifications de type CASCADE apportées à la clé étrangère. 1=Modifications de type NO ACTION en présence de clé étrangère. 2=SET_NULL ; affectation de NULL à la clé étrangère. |
FK_NAME | sysname | Identificateur de clé étrangère. NULL si non applicable à la source de données. SQL Server retourne le nom de la contrainte FOREIGN KEY. |
PK_NAME | sysname | Identificateur de clé primaire. NULL si non applicable à la source de données. SQL Server retourne le nom de la contrainte PRIMARY KEY. |
DIFFÉRER LA DURABILITÉ | smallint | Indique si la vérification des contraintes peut être différée. |
Dans le jeu de résultats, les colonnes FK_NAME et PK_NAME retournent toujours une valeur NULL.
Notes
sp_foreignkeys interroge l’ensemble de lignes FOREIGN_KEYS de l’interface IDBSchemaRowset du fournisseur OLE DB qui correspond à table_server. Les paramètres table_name, table_schema, table_catalog et de colonne sont passés à cette interface pour restreindre les lignes retournées.
autorisations
Nécessite l'autorisation SELECT sur le schéma.
Exemples
L'exemple suivant retourne les informations de clé étrangère relatives à la table Department
de la base de données AdventureWorks2022
située sur le serveur lié Seattle1
.
EXEC sp_foreignkeys @table_server = N'Seattle1',
@pktab_name = N'Department',
@pktab_catalog = N'AdventureWorks2022';
Voir aussi
sp_catalogs (Transact-SQL)
sp_column_privileges (Transact-SQL)
sp_indexes (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_primarykeys (Transact-SQL)
sp_tables_ex (Transact-SQL)
sp_table_privileges (Transact-SQL)
Procédures stockées système (Transact-SQL)
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour