ORA-02292违反完整约束和ORA-02297无法禁用约束条件 cascade禁用主键
Posted shizilunya
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORA-02292违反完整约束和ORA-02297无法禁用约束条件 cascade禁用主键相关的知识,希望对你有一定的参考价值。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29863023/viewspace-1352988/
ORACLE 中delete时出现ORA-02292:违反完整约束条件 错误
该表中存在主键或外键,可以先禁用。
于是用: alter table hx_tb.tabs modify constraint FK_fk1 disable;
alter table hx_ta.tabs modify constraint PK_pk1 disable;
我用的是:
ALTER TABLE ES_SYSTEM.FUNC_DEF DISABLE CONSTRAINT PK_FUNC_DEF CASCADE;
发现禁用主键 PK_pk1 时 提示ORA-02297:无法禁用约束条件 -存在相关性
说明该表的主键被其他表作为了外键,置约束无效得加上cascade;
cascade:
级联删除,比如你删除某个表的时候后面加这个关键字
会在删除这个表的同时删除和该表有关系的其他对象
于是可以 alter table hx_ta.tabs modify constraint PK_pk1 disable cascade; 可成功禁用!
执行完delete 操作后,执行:
alter table hx_tb.tabs modify constraint FK_fk1 enable;
alter table hx_ta.tabs modify constraint PK_pk1 enable;
我用的是:
ALTER TABLE ES_SYSTEM.FUNC_DEF MODIFY CONSTRAINT PK_FUNC_DEF ENABLE;
以上是关于ORA-02292违反完整约束和ORA-02297无法禁用约束条件 cascade禁用主键的主要内容,如果未能解决你的问题,请参考以下文章
ora-02292:违反完整约束条件(XXX.FKXXX)- 已找到子记录
ORA-02292: 违反完整性约束 - 在 ORACLE SQL Developer 中创建过程时发现子记录?
Hibernate ORA-02292: 违反完整性约束 (ROOT.SYS_C007062) - 找到子记录