ORA-02292違反完整約束和ORA-02297無法禁用約束條件 cascade禁用主鍵
阿新 • • 發佈:2018-11-07
來自 “ 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;