我有一個龐大的pl/sql存儲過程,只要插入就做一些刪除操作。 程序用語句oracle - 違反完整性約束 - 找到子記錄
EXECUTE IMMEDIATE 'SET CONSTRAINTS ALL DEFERRED'
開始,並在最後commit
聲明我收到ORA-02292:誠信約束AAA侵犯。 問題是我不知道哪個語句確實導致它,因爲我有兩個從父表中刪除(在子節點之前)並插入父表之前的子表。 我試圖谷歌它,但到處都說,02292發生時,我只嘗試刪除。
當我嘗試在子表中插入值時,會發生此錯誤,但父項中沒有此項?
此外,02292和02291之間有什麼區別?
你有循環依賴嗎?如果答案是否定的,只需按照正確的順序插入即可。如果你這樣做,爲什麼不是一直推遲的約束?在程序開始時執行此操作將表明您的模式/數據模型存在問題。 – Ben
是的,我知道這個數據模型存在很大的問題(當然是由其他人編寫的),但之前就可以,現在開始失敗。所以我需要找出導致它的原因。是因爲刪除或特別是插入? – javagirl