[size=large]很多公司数据库建模都很不好,表关系图很不完善,删除数据和了解业务很不方便,没办法,每次都得用下面这条语句查出我关心的这张表有哪些子表:
[color=red]注意主表名必须是大写的[/color]
select a.table_name ,a.column_name ,b.table_name ,b.column_name
from
(select a.constraint_name,b.table_name,b.column_name,a.r_constraint_name
from user_constraints a, user_cons_columns b
WHERE a.constraint_type='R'
and a.constraint_name=b.constraint_name
) a,
(select distinct a.r_constraint_name,b.table_name,b.column_name
from user_constraints a, user_cons_columns b
WHERE a.constraint_type='R'
and
a.r_constraint_name=b.constraint_name)
b
where a.r_constraint_name=b.r_constraint_name
and b.table_name = '主表名'
order by b.table_name[/size]
[color=red]注意主表名必须是大写的[/color]
select a.table_name ,a.column_name ,b.table_name ,b.column_name
from
(select a.constraint_name,b.table_name,b.column_name,a.r_constraint_name
from user_constraints a, user_cons_columns b
WHERE a.constraint_type='R'
and a.constraint_name=b.constraint_name
) a,
(select distinct a.r_constraint_name,b.table_name,b.column_name
from user_constraints a, user_cons_columns b
WHERE a.constraint_type='R'
and
a.r_constraint_name=b.constraint_name)
b
where a.r_constraint_name=b.r_constraint_name
and b.table_name = '主表名'
order by b.table_name[/size]