2009-04-08 29 views

Odpowiedz

12

Oto a good article z odpowiedzią:

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

Sprawdzę ten widok - zapytanie zwróci tabelę, która ma FK, i muszę podać jedną tabelę i uzyskać wszystkie inne tabele, które mają FK do niej – juan

+0

Edytowałem to z poprawnym zapytaniem z artykułu, więc mogłem to zaakceptować – juan

1

Zakładając, że zarówno rodzic i dziecko tabele są w tym samym schemacie wykonaj następujące czynności:

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 

Zauważ, że r_constraint_name jest wypełniana tylko dla FK (wpisz "R"), więc samo-łączenie zwraca tylko interesujące informacje:

0

jeśli znamy klucz rodzica, po prostu zmieniliśmy odpowiedź juana z pracownikami tabl e

select * 
from user_constraints 
where R_CONSTRAINT_NAME='EMP_EMP_ID_PK' 
and constraint_type='R' 
Powiązane problemy