oracle 查询主表的主键被其他表作为外键参照的SQL

来源:互联网 发布:淘宝客app制作教程 编辑:程序博客网 时间:2024/05/15 03:07

1,查询主表的主键被其他表作为外键参照的SQL

select child_cons.constraint_name,

child_cons.table_name child_table_name,

parent_cons.table_name parent_table,

child_cons.status

from (select *

from all_constraints

where owner = SYS_CONTEXT('USERENV','CURRENT_SCHEMA')

and table_name ='&parent_tab') parent_cons,

(select *

from all_constraints

where owner = SYS_CONTEXT('USERENV','CURRENT_SCHEMA')

and constraint_type ='R') child_cons

where parent_cons.constraint_name = child_cons.r_constraint_name;

 

2,Disable 其他表的外键约束

 

 

select'alter table ' || child_cons.table_name ||' disable constraint ' ||

child_cons.constraint_name || ';'

 

from (select *

from all_constraints

where owner = SYS_CONTEXT('USERENV','CURRENT_SCHEMA')

and table_name ='&parent_tab') parent_cons,

(select *

from all_constraints

where owner = SYS_CONTEXT('USERENV','CURRENT_SCHEMA')

and constraint_type ='R') child_cons

where parent_cons.constraint_name = child_cons.r_constraint_name;