Voici une petite requête SQL pour récupérer la liste des tables référencées par des clés étrangères dans une table donnée:
INNER JOIN sys.foreign_keys fk
ON fkc.constraint_object_id = fk.object_id
INNER JOIN sys.tables tf
ON tf.object_id = fkc.parent_object_id
INNER JOIN sys.tables tp
ON tp.object_id = fkc.referenced_object_id
WHERE tf.name = 'NomDeLaTable'
Pour l'utiliser il suffit de remplacer dans la clause WHERE 'NomDeLaTable' par le nom de la table que vous voulez.
Cela peut être utile pour désactiver les contraintes d'intégrités ou tout simplement connaître les relations entre les tables.
SELECT tf.name AS 'Table_Principale',tp.name AS 'Table_Referencee', fk.name AS 'ForeignKey'
FROM sys.foreign_key_columns fkcINNER JOIN sys.foreign_keys fk
ON fkc.constraint_object_id = fk.object_id
INNER JOIN sys.tables tf
ON tf.object_id = fkc.parent_object_id
INNER JOIN sys.tables tp
ON tp.object_id = fkc.referenced_object_id
WHERE tf.name = 'NomDeLaTable'
Pour l'utiliser il suffit de remplacer dans la clause WHERE 'NomDeLaTable' par le nom de la table que vous voulez.
Cela peut être utile pour désactiver les contraintes d'intégrités ou tout simplement connaître les relations entre les tables.
Aucun commentaire:
Enregistrer un commentaire