ORACLE外键操作总结

来源:互联网 发布:梦龙软件 编辑:程序博客网 时间:2024/05/02 01:26
select b.table_name  as pktable_name,       b.column_name pkcolumn_name,       c.table_name  fktable_name,       c.column_name fkcolumn_name,       c.position    ke_seq,       c.constraint_name fk_name  from (select * from user_cons_columns) b  left join (select *               from user_constraints              where user_constraints.constraint_type = 'R') a on b.constraint_name = a.r_constraint_name  left join user_cons_columns c on c.constraint_name = a.constraint_name where c.position is not null   and c.position = b.positionand b.table_name ='TE_TERMINAL' order by c.table_name, c.position; --oracle中查询、禁用、启用、删除表外键1.查询所有表的外键的:select table_name, constraint_name from user_constraints where constraint_type = 'R'; 2.禁用所有外键约束, 使用下面的sql生成对应sql脚本:select 'alter table ' || table_name || ' disable constraint ' || constraint_name || ';' from user_constraints where constraint_type = 'R';生成的sql类似下面的语句:alter table BERTH disable constraint BERTH_FK;alter table BOLLARD disable constraint BOLLARD_FK;alter table YARD_UNAVAIL_REGION disable constraint YARD_UNAVAIL_REGION_FK; 3.启用所有外键约束, 使用下面的sql生成对应sql脚本:select 'alter table ' || table_name || ' enable constraint ' || constraint_name || ';' from user_constraints where constraint_type = 'R';生成的sql类似下面的语句:alter table BERTH enable constraint BERTH_FK;alter table BOLLARD enable constraint BOLLARD_FK;alter table YARD_UNAVAIL_REGION enable constraint YARD_UNAVAIL_REGION_FK; 4.删除所有外键约束, 使用下面的sql生成对应sql脚本:select 'alter table ' || table_name || ' drop constraint ' || constraint_name || ';' from user_constraints where constraint_type = 'R';生成的sql类似下面的语句:alter table BERTH drop constraint BERTH_FK;alter table BOLLARD drop constraint BOLLARD_FK;alter table YARD_UNAVAIL_REGION drop constraint YARD_UNAVAIL_REGION_FK;

原创粉丝点击