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: 违反完整性约束

ora-02292:违反完整约束条件(XXX.FKXXX)- 已找到子记录

ORA-02292: 违反完整性约束 - 在 ORACLE SQL Developer 中创建过程时发现子记录?

Hibernate ORA-02292: 违反完整性约束 (ROOT.SYS_C007062) - 找到子记录

ORA-02292: 违反完整性约束 (FK_ACCOUNT_CONSUMER_ID) - 找到子记录

Oracle的ORA-02292报错:违反完整性约束,已找到子记录