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


我是處於工作中沒用過oracle的狀態,這不,記錄下這個小小的問題。哈哈。

表是公司的平台組定義的。前幾天為了測試程序,想刪掉一些記錄,然后使用delete語句,出現這個東東:oracle ORA-02292: 違反完整約束條件 (TEST.FK_H3K23R74VBBA62WXJB512P0PB) - 已找到子記錄出現原因是這個表的某個column被當成了別的表的外鍵,真的是尷尬,說實話,工作以來,沒遇到有公司用外鍵來維護表關系的。

先使用sql語句查出到底是哪一個表“約束”了"FK_H3K23R74VBBA62WXJB512P0PB",它其實就是另一張表依賴這張表的外鍵名

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_H3K23R74VBBA62WXJB512P0PB' )

執行結果

然后去找表NOTESERIALNUMBER,果然,用了外鍵,汗

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM