1 pièce(s) jointe(s)
Générer le sql qui récupère la structure d'une table
Amis du jour, bonjour
Je viens recourir à l'aide de la communauté pour essayé de trouver une solution à mon problème qui est :
J'ai besoin de retrouver les dépendances entre les tables via les clés étrangères et de pouvoir faire la correspondance entre.
Concrètement j'y arrive déjà, le problème vient lorsque qu'une clé étrangère est composé de plusieurs champs...
J'arrive aussi à les récupérer mais le problème est que ce n'est pas forcement le bon ordre et il me faut un moyen de savoir quelle clé est liée à quelle autre clé.
Entre autres, il me faudrait le code SQL que utilise PgAdmin3 pour afficher la structure d'une table :
Pièce jointe 372602
Par exemple, ici, pgAdmin retrouve la contrainte avec les multi-champs dans l'ordre...
Voici la requête que j'utilise pour retrouver les dépendances mais qui ne marche pas vraiment quand il y a plusieurs champs pour une clé étrangère :
Code:
1 2 3 4 5 6 7 8 9 10 11
| SELECT
tc.constraint_name as nom_fk, tc.table_name as table_out, kcu.column_name as colonne_out,
ccu.table_name AS table_in,
ccu.column_name AS colonne_in
FROM
information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu
ON tc.constraint_name = kcu.constraint_name
JOIN information_schema.constraint_column_usage AS ccu
ON ccu.constraint_name = tc.constraint_name
WHERE constraint_type = 'FOREIGN KEY' AND ccu.table_name='MA_TABLE'; |
Merci d'avance !