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) - 已找到子記錄


另外一種方法:
刪除表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)的子表記錄
然后刪除主表記錄