Maison > base de données > tutoriel mysql > Comment récupérer des références de clés étrangères dans SQL Server à l'aide d'un schéma d'informations ?

Comment récupérer des références de clés étrangères dans SQL Server à l'aide d'un schéma d'informations ?

Mary-Kate Olsen
Libérer: 2025-01-03 21:54:40
original
522 Les gens l'ont consulté

How to Retrieve Foreign Key References in SQL Server Using Information Schema?

SQL Server : Comment récupérer des références de clé étrangère à partir d'un schéma d'information

Dans SQL Server, la récupération d'informations sur les références de clé étrangère peut être essentielle pour comprendre les relations entre les données et maintenir l’intégrité de la base de données. En exploitant le schéma d'information, vous pouvez accéder à des métadonnées précieuses sur les clés étrangères, y compris les tables et les colonnes auxquelles elles font référence.

La requête SQL présentée ci-dessous fournit une solution complète pour extraire les références de clés étrangères du schéma d'information :

`SELECT

KCU1.CONSTRAINT_SCHEMA AS FK_CONSTRAINT_SCHEMA,
KCU1.CONSTRAINT_NAME AS FK_CONSTRAINT_NAME,
KCU1.TABLE_SCHEMA AS FK_TABLE_SCHEMA,
KCU1.TABLE_NAME AS FK_TABLE_NAME,
KCU1.COLUMN_NAME AS FK_COLUMN_NAME,
KCU1.ORDINAL_POSITION AS FK_ORDINAL_POSITION,
KCU2.CONSTRAINT_SCHEMA AS REFERENCED_CONSTRAINT_SCHEMA,
KCU2.CONSTRAINT_NAME AS REFERENCED_CONSTRAINT_NAME,
KCU2.TABLE_SCHEMA AS REFERENCED_TABLE_SCHEMA,
KCU2.TABLE_NAME AS REFERENCED_TABLE_NAME,
KCU2.COLUMN_NAME AS REFERENCED_COLUMN_NAME,
KCU2.ORDINAL_POSITION AS REFERENCED_ORDINAL_POSITION
Copier après la connexion

FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU1

ON KCU1.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG
AND KCU1.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA
AND KCU1.CONSTRAINT_NAME = RC.CONSTRAINT_NAME
Copier après la connexion

INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU2

ON KCU2.CONSTRAINT_CATALOG = RC.UNIQUE_CONSTRAINT_CATALOG
AND KCU2.CONSTRAINT_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA
AND KCU2.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME
AND KCU2.ORDINAL_POSITION = KCU1.ORDINAL_POSITION`
Copier après la connexion

Dans cette requête :

  • RC représente le Table REFERENTIAL_CONSTRAINTS, qui contient des informations sur toutes les contraintes de clé étrangère.
  • KCU1 et KCU2 sont des alias pour la table KEY_COLUMN_USAGE, qui fournit des détails sur les colonnes référencées et référencées, respectivement.
  • Les opérations JOIN sont utilisées pour connecter RC, KCU1 et KCU2.
  • Le CONSTRAINT_NAME et CONSTRAINT_SCHEMA identifient la contrainte de clé étrangère.
  • Les colonnes TABLE_SCHEMA, TABLE_NAME et COLUMN_NAME fournissent des informations sur la table et la colonne de référence.
  • Les colonnes REFERENCED_CONSTRAINT_SCHEMA, REFERENCED_TABLE_SCHEMA, REFERENCED_TABLE_NAME et Les colonnes REFERENCED_COLUMN_NAME fournissent des informations sur la table et la colonne référencées.

En utilisant cette requête, vous pouvez obtenir une vue complète des relations de clés étrangères au sein de votre base de données SQL Server, vous permettant ainsi d'effectuer la validation des données, la propagation des mises à jour, et d'autres tâches importantes liées à la gestion des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal