lunes, 9 de enero de 2012

Cómo obtener referencias a una tabla

En Oracle, si necesitas saber qué tablas tienen una relación DIRECTA con una tabla dada, no como en el caso de una tabla que tiene una llave foránea de una segunda tabla que a su vez tiene una llave foránea apuntando a una tercera tabla, entonces puedes usar esta sentencia SQL:

SQL> select owner, constraint_name, constraint_type, table_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 owner='MYUSER' and table_name='MYTABLE');

OWNER CONSTRAINT_NAME C TABLE_NAME
-------------------- -------------------- - ---------------------
ANOWNER SYS_C0018146 R ATABLE
ANOWNER SYS_C0018144 R OTHER_TABLE
ANOWNER SYS_C0018145 R A_THIRD_TABLE
ANOWNER SYS_C0018148 R RELATED_TABLE

No hay comentarios.:

Publicar un comentario