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

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

Votre réponse

3 réponses

Meilleure réponse
Messages postés
1471
Date d'inscription
mardi 5 février 2002
Dernière intervention
20 octobre 2014
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é 90 internautes ce mois-ci

Commenter la réponse de BasicInstinct
Messages postés
164
Date d'inscription
lundi 22 juin 2009
Dernière intervention
14 décembre 2010
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
Messages postés
2
Date d'inscription
mardi 30 octobre 2007
Dernière intervention
21 juillet 2009
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.