2009-04-08 8 views

risposta

12

Ecco a good article con una risposta:

select owner,constraint_name,constraint_type,table_name,r_owner,r_constraint_name 
from all_constraints 
where constraint_type='R' 
and r_constraint_name in (select constraint_name from all_constraints 
where constraint_type in ('P','U') and table_name='TABLE_NAME'); 
+0

Controllerò la vista - la query restituisce la tabella che ha FK, e dovrei specificare una tabella e ottenere ogni altra tabella che ha un FK ad essa – juan

+0

L'ho modificata con la query corretta dall'articolo, quindi potrei accettarlo – juan

1

Supponendo che le tabelle sia il padre e figlio sono nello stesso schema di effettuare le seguenti operazioni:

select t1.table_name child_table, t1.constraint_name, t2.table_name parent_table 

from user_constraints t1, user_constraints t2 

where t1.r_constraint_name = t2.constraint_name 

Nota che r_constraint_name è popolato solo per FK (digita "R"), quindi l'auto join restituisce solo le informazioni di interesse

0

se conosciamo la chiave genitore, solo la risposta di juan modificata con gli impiegati tabl e

select * 
from user_constraints 
where R_CONSTRAINT_NAME='EMP_EMP_ID_PK' 
and constraint_type='R' 
Problemi correlati