ORA-02292: 違反完整約束條件 處理

ORA-02292: 違反完整約束條件 (用戶名.約束名) - 已找到子記錄:

因是:刪除該表時,有依賴該表的子表數(shù)據(jù),需要刪除該條記錄或者禁用約束。

內(nèi)容少:可刪除子數(shù)據(jù)即可。
刪除之前:查找數(shù)據(jù),相關(guān)查詢語句

user_constraints 表select * from user_constraints t where t.CONSTRAINT_NAME='約束名'
select * from user_constraints t where t.table_name = '表名'

內(nèi)容多:禁用約束,再刪除數(shù)據(jù),然后啟動約束即可。
查詢到到表名和約束名。我們用語句

禁用該約束
alter table 表名 disable constraint 約束名;
啟用約束
alter table 表名 enable constraint 約束名;

eg:
ORA-02292: 違反完整約束條件 (GOADEV.FK_OZ_ORG_C_REFERENCE_OZ_ORG_O) - 已找到子記錄

Paste_Image.png
Paste_Image.png

另外一種方法:
刪除表A的記錄時,Oracle 報錯:“ORA-02292:違反完整約束條件(XXX.FKXXX)- 已找到子記錄

直接運行
select a.constraint_name, a.table_name, b.constraint_name from user_constraints a, user_constraints bwhere a.constraint_type = 'R' and b.constraint_type = 'P' and a.r_constraint_name = b.constraint_nameand a.constraint_name = 'FKXXX'

查找刪除相應(yīng)的子表記錄

然后刪除主表記錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容