龙空技术网

实用命令--Oracle批量禁用所有表的外键约束

波波说运维 491

前言:

当前姐妹们对“oracle建立约束”大体比较关切,小伙伴们都想要剖析一些“oracle建立约束”的相关知识。那么小编也在网摘上汇集了一些关于“oracle建立约束””的相关知识,希望各位老铁们能喜欢,咱们快快来了解一下吧!

概述

最近在转移数据库,进行数据导入的时候,遇到一件麻烦事,就是表间外键约束的存在,导致insert频频报错,批量执行sql语句又是顺序执行,手动输入的工作量又太大。所以这里考虑是不是可以把外键约束全部禁用先?总结如下:

1、删除所有外键约束

select 'alter table '||table_name||' drop constraint '||constraint_name||';' from user_constraints where constraint_type='R'
2、禁用所有外键约束
select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
3、启用所有外键约束
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R';

接下来只要可以根据这个脚本得到的语句执行就可以了。

篇幅有限,关于Oracle批量执行sql语句之禁用所有表的外键的相关内容就介绍到这了。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

标签: #oracle建立约束