批量执行语句之——禁用所有表的外键
来源:互联网 发布:win10win7共享网络 编辑:程序博客网 时间:2024/06/15 18:49
批量执行语句之——禁用所有表的外键
在转移数据库,进行数据导入的时候,遇到一件麻烦事,就是表间外键约束的存在,导致insert频频报错,批量执行sql语句又是顺序执行,没办法我只好手动输入。
然后输入到一半灵光一闪,为什么不先把外键约束全部禁用先呢?
于是我百度到以下资料:
oracle 删除(所有)约束 禁用(所有)约束 启用(所有)约束
(2009-06-17 09:56:32)执行以下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'
在SQL Plus中输入语句后,生成了很多语句,这些语句其实是没执行的,复制下来执行一遍就好了。
然后我们可以根据这个脚本一样的sql语句进行拼装,得到我们需要的语句:
禁用所有外键约束:
select 'ALTER TABLE "QIANHAI"."'||table_name||'" MODIFY CONSTRAINT "'||constraint_name||'" DISABLE;' from user_constraints where constraint_type='R'
启用所有外键约束:
select 'ALTER TABLE "QIANHAI"."'||table_name||'" MODIFY CONSTRAINT "'||constraint_name||'" ENABLE;' from user_constraints where constraint_type='R';
- 批量执行语句之——禁用所有表的外键
- 金蝶K3批量禁用物料的语句
- mysql语句的批量执行
- Oracle中快速删除某个用户下的所有表数据 禁用所有外键
- Oracle中快速删除某个用户下的所有表数据 禁用所有外键
- 批量执行文件夹下面所有的.sql
- oracle 禁用所有外键
- 批量执行sql语句的一个方法
- 关于SQL语句的批量执行
- 批量insert语句的执行技巧
- sql语句批量执行
- 批量执行 SQL 语句
- 批量执行mysql语句.
- 批量执行sql语句
- Mybatis批量执行语句
- mysqli批量执行语句
- 监视MySQL的所有执行语句
- MySQL删除所有表的外键约束、禁用外键约束
- typedef和#define的用法与区别
- 使用 awk 命令
- aidl的简单使用
- 2016.01.21-------html5第二天
- centos6.5下安装nginx1.8.0
- 批量执行语句之——禁用所有表的外键
- SEAndroid原理分析
- 槽函数的好处
- repeatCount和repeatDuration
- codeforces 257C解题报告
- MAC 10.10.5编译opencv3.0(java版本)
- Android keystore 的MD5、SHA1值获取方法
- 小乔落花流水
- 嵌入式系统学习入门篇之-----开门探头