ORA-02291: integrity constraint violated - parent key not found
OracleNe demek?
Foreign key constraint'i ihlal edildi. Alt (child) tabloya eklenen değere karşılık gelen bir üst (parent) satır bulunamadı; yani referans verilen kayıt mevcut değil.
Neden olur?
Var olmayan bir üst kayda referans veren INSERT/UPDATE, üst tablo satırının henüz eklenmemiş olması, yükleme sırasının yanlış olması (önce alt sonra üst) veya büyük/küçük harf ya da boşluk farkı nedeniyle eşleşmenin tutmaması.
Nasıl çözülür?
Önce üst tabloya ilgili kaydı ekleyin, sonra alt tabloya. Referansın var olup olmadığını doğrulayın: SELECT * FROM parent_tablo WHERE anahtar = deger; Toplu yüklemede tabloları doğru sırada (önce parent) işleyin. İhlal eden satırı bulmak için alt tablodaki değeri üst tabloyla NOT IN / anti-join ile karşılaştırın.
Aynı motorda diğer kayıtlar
- ORA-00604error occurred at recursive SQL level
- ORA-01438value larger than specified precision allowed for this column
- ORA-01400cannot insert NULL into (column)
- ORA-02292integrity constraint violated - child record found
- ORA-00979not a GROUP BY expression
- ORA-00918column ambiguously defined
- ORA-06550line/column PLS-... PL/SQL compilation error