oracle錯誤碼及解決辦法整合

來源:互聯網
上載者:User

ora-02292:違反完整約束條件使用者名稱.約束名)- 已找到子記錄

原因是另一個表B的某個欄位引用了A表的某個欄位作為約束這個的另一個說法是外鍵)。

假如引用的欄位叫field,當B.field = A.field , 而你想刪掉A.field,這時就爆出這個錯誤。解決辦法是先把B.field (B.field = A.field的部分) 幹掉,再幹掉你想刪除的A.field

問題是,如何知道哪個表引用了A表的field欄位或其他欄位?報錯資訊裡並沒有給出,只給出了約束的名稱。這時可以查all_constraints。

select  table_name from all_constraints where constraint_name = '約束的名稱' 一般如 FK_xxx)

查看選出的table_name 就知道索引了A的哪個欄位。

本文出自 “IT精英的集中區” 部落格,轉載請與作者聯絡!

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.