码迷,mamicode.com
首页 > 其他好文 > 详细

使用truncate ,截断有外键约束的父表

时间:2018-06-06 01:02:36      阅读:470      评论:0      收藏:0      [点我收藏+]

标签:外键   cas   HERE   TE   重建   Owner   分享   数据   key   

 

技术分享图片

技术分享图片

此时有两种方法,解决
1.删除外键约束,删除该表,在重建外键约束
--查询外键约束
select TABLE_NAME,CONSTRAINT_NAME,CONSTRAINT_TYPE,R_CONSTRAINT_NAME

             from ALL_CONSTRAINTS

             WHERE constraint_type=‘R‘ and owner=‘SCOTT‘;

技术分享图片

 

删掉外键约束

 alter table emp drop constraint fk_deptno;

 技术分享图片

truncate  表后如果仍然想要关联原来的子表,重新添加约束

alter table emp add constraint fk_deptno foreign key (deptno) references dept (deptno) on delete cascade;


2.使用禁止方式,使外键失效,truncate 表后重新使生效,不重建约束

ALTER TABLE emp DISABLE CONSTRAINT fk_deptno ;
truncate父表数据的操作
truncate table dept;

 

重新生效外键约束 
ALTER TABLE emp enable CONSTRAINT fk_deptno;

文章可以转载,必须以链接形式标明出处。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

使用truncate ,截断有外键约束的父表

标签:外键   cas   HERE   TE   重建   Owner   分享   数据   key   

原文地址:https://www.cnblogs.com/dqliuq1215/p/9142609.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!