Récupérer les FK d'une table [Résolu]

Jenkiche 2 Messages postés mardi 30 octobre 2007Date d'inscription 21 juillet 2009 Dernière intervention - 18 juin 2009 à 09:22 - Dernière réponse : Jenkiche 2 Messages postés mardi 30 octobre 2007Date d'inscription 21 juillet 2009 Dernière intervention
- 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
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
BasicInstinct 1471 Messages postés mardi 5 février 2002Date d'inscription 20 octobre 2014 Dernière intervention - 17 juil. 2009 à 12:05
3
Merci
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

Merci BasicInstinct 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de BasicInstinct
nivsql 164 Messages postés lundi 22 juin 2009Date d'inscription 14 décembre 2010 Dernière intervention - 18 juil. 2009 à 02:06
0
Merci
Verifié a l'instant sur SQL 2008 cela fonctionne avec :
and CONSTRAINT_TYPE = 'FOREIGN KEY'
Commenter la réponse de nivsql
Jenkiche 2 Messages postés mardi 30 octobre 2007Date d'inscription 21 juillet 2009 Dernière intervention - 21 juil. 2009 à 11:10
0
Merci
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
Commenter la réponse de Jenkiche

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.