ORA-02292主鍵約束問題


 

  通常在刪除某個表A的時候,會出現這個錯誤。原因是另一個表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的哪個字段。

 

 

 


免責聲明!

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



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