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;

猜你喜欢

转载自www.cnblogs.com/shizilunya/p/9921930.html
今日推荐