我有一个庞大的pl/sql存储过程,只要插入就做一些删除操作。 程序用语句oracle - 违反完整性约束 - 找到子记录
EXECUTE IMMEDIATE 'SET CONSTRAINTS ALL DEFERRED'
开始,并在最后commit
声明我收到ORA-02292:诚信约束AAA侵犯。 问题是我不知道哪个语句确实导致它,因为我有两个从父表中删除(在子节点之前)并插入父表之前的子表。 我试图谷歌它,但到处都说,02292发生时,我只尝试删除。
当我尝试在子表中插入值时,会发生此错误,但父项中没有此项?
此外,02292和02291之间有什么区别?
你有循环依赖吗?如果答案是否定的,只需按照正确的顺序插入即可。如果你这样做,为什么不是一直推迟的约束?在程序开始时执行此操作将表明您的模式/数据模型存在问题。 – Ben
是的,我知道这个数据模型存在很大的问题(当然是由其他人编写的),但之前就可以,现在开始失败。所以我需要找出导致它的原因。是因为删除或特别是插入? – javagirl