使用truncate ,截斷有外鍵約束的父表
阿新 • • 發佈:2018-06-06
添加 reference http 原來 where 查詢 TP span cas
此時有兩種方法,解決
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 ,截斷有外鍵約束的父表