Jenkiche
Messages postés2Date d'inscriptionmardi 30 octobre 2007StatutMembreDernière intervention21 juillet 2009
-
18 juin 2009 à 09:22
Jenkiche
Messages postés2Date d'inscriptionmardi 30 octobre 2007StatutMembreDernière intervention21 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.
BasicInstinct
Messages postés1470Date d'inscriptionmardi 5 février 2002StatutMembreDernière intervention20 octobre 201412 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
Jenkiche
Messages postés2Date d'inscriptionmardi 30 octobre 2007StatutMembreDernière intervention21 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.