Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment puis-je trouver quelles tables référencent une table donnée dans Oracle SQL Developer ?

Non. Une telle option n'est pas disponible auprès d'Oracle SQL Developer.

Vous devez exécuter une requête à la main ou utiliser un autre outil (par exemple, PLSQL Developer a une telle option). Le SQL suivant est celui utilisé par PLSQL Developer :

select table_name, constraint_name, status, owner
from all_constraints
where r_owner = :r_owner
and constraint_type = 'R'
and r_constraint_name in
 (
   select constraint_name from all_constraints
   where constraint_type in ('P', 'U')
   and table_name = :r_table_name
   and owner = :r_owner
 )
order by table_name, constraint_name

r_owner est le schéma, et r_table_name est la table pour laquelle vous recherchez des références. Les noms sont sensibles à la casse

Attention car sur l'onglet rapports d'Oracle SQL Developer il y a l'option "Toutes les tables / Dépendances" c'est de ALL_DEPENDENCIES qui fait référence à "dépendances entre procédures, packages, fonctions, corps de packages et déclencheurs accessibles à l'utilisateur actuel , y compris les dépendances sur les vues créées sans aucun lien de base de données." . Alors, ce rapport n'a aucune valeur pour votre question.