oracle查询一个表被多少表引用

来源:互联网 发布:linux查找文件夹 编辑:程序博客网 时间:2024/05/17 01:37

oracle查询一个表被那些表引用,分别对应的引用列等,SQL语句如下:

select fk_col.constraint_name, fk_col.table_name, fk_col.column_name
  from user_constraints pk, user_constraints fk, user_cons_columns fk_col
 where pk.table_name = 'TEST'
   and pk.constraint_type = 'P'
   and fk.r_constraint_name = pk.constraint_name
   and fk_col.constraint_name = fk.constraint_name
 order by 2, 3;




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 ;

0 0