ORACLE外键操作总结

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.position
and 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;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值