mercredi 25 janvier 2012

[SQL] Dépendance entre tables et foreign Key

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:
 
SELECT tf.name AS 'Table_Principale',tp.name AS 'Table_Referencee', fk.name AS 'ForeignKey'
FROM sys.foreign_key_columns fkc
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.

Aucun commentaire:

Enregistrer un commentaire