Récupérer les FK d'une table

Résolu
Jenkiche Messages postés 2 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 21 juillet 2009 - 18 juin 2009 à 09:22
Jenkiche Messages postés 2 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 21 juillet 2009 - 21 juil. 2009 à 11:10
Bonjour,
Je suis en train d'écrire un programme de requêtage dynamique et j'aurais besoin de récupérer les FK d'une table à partir du nom de la table.
Est-ce que quelqu'un connaitrais une procédure stockée ou une vue me permettant d'y avoir accès svp.
J'ai déjà essayé sys.sp_table_constraints_rowset mais elle ne retourne pas le nom des champs concernés par les contraintes et sys.sp_foreignkey qui ne me renvoie que l'object ID.

Merci d'avance.

jenkiche

3 réponses

BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
17 juil. 2009 à 12:05
pour récupérer la liste des PK:
en changeant le CONSTRAINT_TYPE tu dois pouvoir récupérer les FK je pense.

select c.COLUMN_NAME
from INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
where pk.TABLE_NAME = @nomTable
and CONSTRAINT_TYPE = 'PRIMARY KEY'
and c.TABLE_NAME = pk.TABLE_NAME
and c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME

BasicInstinct
3
nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
18 juil. 2009 à 02:06
Verifié a l'instant sur SQL 2008 cela fonctionne avec :
and CONSTRAINT_TYPE = 'FOREIGN KEY'
0
Jenkiche Messages postés 2 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 21 juillet 2009
21 juil. 2009 à 11:10
Bonjour,
Merci pour vos réponses qui fonctionnent très bien.

Cela dit, une procédure stockée sp_help renvoi toutes les infos de la table et même les tables ayant une foreign key pointant vers cette table.
Cette procédure stockée renvoi cependant beaucoup d'informations et il est nécessaire de la retoucher enfin de correspondre plus précisément aux besoins.

Cordialement,
jenkiche
0
Rejoignez-nous