Bonjour tout le monde.

Je voudrais créer une procédure qui liste :
  • Toutes les clés étrangères d'une table
  • Les noms des contraintes associées
  • Les noms des tables reférencées par la clé, ainsi que les colonnes reférencées

J'ai essayé de combiner ces deux requêtes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SQL> select CONSTRAINT_NAME from dba_constraints where TABLE_NAME='NOM_TABLE' and CONSTRAINT_TYPE='R';
 
CONSTRAINT_NAME
------------------------------
FK_LDW_LDG1
FK_LDW_TA
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SQL> select COLUMN_NAME from dba_cons_columns where TABLE_NAME='NOM_TABLE' and CONSTRAINT_NAME='FK_LDW_LDG1';
 
COLUMN_NAME
--------------------------------------------------------------------------------
ID_LDG1
Mais là je n'obtiens que :
  • Les noms des clés étrangères et
  • Les noms des contraintes associées

Je n'arrive pas à trouver une vue qui me permet de connaître les noms des tables reférencées par la clé, ainsi que les colonnes reférencées.

Ensuite je voudrais faire l'inverse de cette procédure : lister toutes les tables qui possèdent des clés étrangères associées à une table A.

Quelqu'un aurait-t-il une idée?

Merci d'avance pour vos réponses.