ORA-02292: 违反完整约束条件的处理方法

 oracle删除某一条数据的时候,提示

 使用以下sql查询外键的位置

SELECT
A .constraint_name,
A .table_name,
b.constraint_name
FROM
user_constraints A,
user_constraints b
WHERE
A .constraint_type = 'R'
AND b.constraint_type = 'P'
AND A .r_constraint_name = b.constraint_name
AND A .constraint_name = UPPER (
'FK_TASK_TEMPLATE_INSTRUMENT2'
)

sql查询出来的内容,表示TB_TASK_TEMPLATE_INSTRUMENT表中有用到外键

结果一查询,果然是的。 

处理方法1:删除TB_TASK_TEMPLATE_INSTRUMENT表中的数据,再删除要删除的数据

处理方法2:先让约束失效,然后再直接删除数据,然后再让约束恢复一下(网上找的方法)

select * from user_constraints t where t.table_name = 'TB_TASK_TEMPLATE_INSTRUMENT'

禁用该约束
alter table 表名 disable constraint 约束名;
启用约束
alter table 表名 enable constraint 约束名;

猜你喜欢

转载自www.cnblogs.com/jkwll/p/11697462.html
今日推荐