Microsoft SQL Server Comment trouver les clés étrangères dans une base de données

Une clé étrangère est une colonne ou des colonnes utilisées pour imposer un lien entre les données de deux tables. Bien que SQL Server ne vous fournisse aucun moyen rapide et facile d'afficher toutes les clés étrangères d'une base de données, cette requête rapide vous donnera ces informations. Cela s'avère pratique lorsque vous essayez de résoudre les erreurs de contrainte de clé étrangère.

1. Ouvrez une nouvelle requête sur la base de données souhaitée.

2. Copiez, collez et exécutez les tâches suivantes:
SÉLECTIONNER
FKConstraintName = a.CONSTRAINT_NAME,
FKTable = b.TABLE_NAME,
FKColumn = c.COLUMN_NAME,
PKTable = d.TABLE_NAME,
PKColumn = e.COLUMN_NAME
DE
INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS a
JOINTURE INTERNE
INFORMATION_SCHEMA.TABLE_CONSTRAINTS b
SUR a.CONSTRAINT_NAME = b.CONSTRAINT_NAME
JOINTURE INTERNE
INFORMATION_SCHEMA.TABLE_CONSTRAINTS d
SUR a.UNIQUE_CONSTRAINT_NAME = d.CONSTRAINT_NAME
JOINTURE INTERNE
INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
ON a.CONSTRAINT_NAME = c.CONSTRAINT_NAME
JOINTURE INTERNE
(
SÉLECTIONNER
f.TABLE_NAME, g.COLUMN_NAME
DE
INFORMATION_SCHEMA.TABLE_CONSTRAINTS f
JOINTURE INTERNE
INFORMATION_SCHEMA.KEY_COLUMN_USAGE g
ON f.CONSTRAINT_NAME = g.CONSTRAINT_NAME
WHERE f.CONSTRAINT_TYPE = 'PRIMARY KEY'
) e
ON e.TABLE_NAME = d.TABLE_NAME
ORDER BY a.CONSTRAINT_NAME

Vous pouvez maintenant facilement voir toutes les clés étrangères dans cette base de données.