Dans Oracle SQL Developer , si je consulte les informations sur une table, je peux afficher les contraintes, qui me permettent de voir les clés étrangères (et donc les tables référencées par cette table), et je peux afficher les dépendances pour voir ce que packages et tels référencer le tableau. Mais je ne sais pas comment trouver les tables qui font référence à la table.
Par exemple, disons que je regarde la emp
table. Il existe une autre table emp_dept
qui capture quels employés travaillent dans quels services, qui fait référence à la emp
table emp_id
, la clé primaire de la emp
table. Existe-t-il un moyen (via un élément d'interface utilisateur du programme, pas via SQL) de trouver que la emp_dept
table fait référence à la emp
table, sans que je doive savoir que la emp_dept
table existe?
la source
Pour l'ajouter à SQL Developer en tant qu'extension, procédez comme suit:
Ajoutez l'extension à SQL Developer:
Accédez à n'importe quelle table et vous devriez maintenant voir un onglet supplémentaire à côté de SQL, intitulé Références FK, qui affiche les nouvelles informations FK.
Référence
la source
and owner = :OBJECT_OWNER
avantand exists
.describe books;
etselect * from books;
, il n'affiche pas l'onglet de références fk sur la machine virtuelle Oracle sql developer.Remplacez [Votre TABLE] par emp dans la requête ci-dessous
la source
constraint_type in ('P','U')
c'est superflu, car si le type_contrainte d'une contrainte TOTO est 'R', alors r_constraint_name de TOTO est bien sûr le nom d'une contrainte de type 'P' OU 'U' dans la table référencée. Il n'est pas nécessaire de le spécifier. Vous utilisez unIN
, c'est donc comme beaucoup deOR
et nous ne nous soucions que du seul opérande de OR qui a la valeur true.Vous pourrez peut-être l'interroger à partir de la
ALL_CONSTRAINTS
vue:la source
SQL Developer 4.1, publié en mai 2015, a ajouté un onglet Modèle qui affiche les clés étrangères de table qui font référence à votre table dans un format de diagramme de relation d'entité.
la source
Que diriez-vous quelque chose comme ça:
la source
dba_constraints
pour l'all_constraints
aimer ainsi:SELECT c.constraint_name, c.constraint_type, c2.constraint_name, c2.constraint_type, c2.table_name FROM all_constraints c JOIN all_constraints c2 ON (c.r_constraint_name = c2.constraint_name) WHERE c.table_name = '<TABLE_OF_INTEREST>' AND c.constraint_TYPE = 'R';
la source
Cela fait partie du produit depuis des années - même si ce n'était pas le cas en 2011.
Mais, cliquez simplement sur la page Modèle.
Assurez-vous que vous êtes sur au moins la version 4.0 (sortie en 2013) pour accéder à cette fonctionnalité.
la source
Pour ajouter à la réponse ci-dessus pour le plugin de développeur SQL, l'utilisation du xml ci-dessous aidera à obtenir la colonne associée à la clé étrangère.
la source