ORA-02291: integrity constraint violated - parent key not found (Integritäts-Constraint verletzt: Elternschlüssel nicht gefunden)
OracleWas bedeutet das?
Ein Foreign-Key-Constraint wurde verletzt. Zum in die Kindtabelle eingefügten Wert wurde keine passende Elternzeile gefunden; der referenzierte Datensatz existiert also nicht.
Ursache
Ein INSERT/UPDATE, das einen nicht existierenden Elterndatensatz referenziert, die Zeile der Elterntabelle wurde noch nicht eingefügt, falsche Ladereihenfolge (Kind vor Eltern) oder der Abgleich schlägt wegen Unterschieden bei Groß-/Kleinschreibung oder Leerzeichen fehl.
Lösung
Füge zuerst den betreffenden Datensatz in die Elterntabelle ein, dann in die Kindtabelle. Prüfe, ob die Referenz existiert: SELECT * FROM parent_table WHERE key_col = value; Verarbeite Tabellen bei Massenladungen in der richtigen Reihenfolge (Eltern zuerst). Um die verletzende Zeile zu finden, vergleiche den Wert in der Kindtabelle per NOT IN / Anti-Join mit der Elterntabelle.
Weitere Einträge zu dieser Datenbank
- ORA-00604error occurred at recursive SQL level (Fehler auf rekursiver SQL-Ebene)
- ORA-01438value larger than specified precision allowed for this column (Wert größer als die für die Spalte erlaubte Precision)
- ORA-01400cannot insert NULL into (column) (NULL kann nicht in die Spalte eingefügt werden)
- ORA-02292integrity constraint violated - child record found (Integritäts-Constraint verletzt: Kinddatensatz gefunden)
- ORA-00979not a GROUP BY expression (kein GROUP-BY-Ausdruck)
- ORA-00918column ambiguously defined (Spalte mehrdeutig definiert)
- ORA-06550line/column PLS-... PL/SQL compilation error (PL/SQL-Kompilierfehler)