DBAtlas · Atlas de operações de banco de dados

ORA-02291: integrity constraint violated - parent key not found

Oracle

O que significa?

Uma constraint de foreign key foi violada. Não foi encontrada nenhuma linha pai correspondente ao valor inserido na tabela filha; ou seja, o registro referenciado não existe.

Por que acontece?

Um INSERT/UPDATE referenciando um registro pai inexistente, a linha da tabela pai ainda não inserida, a ordem de carga errada (filho antes do pai), ou a correspondência falhando por diferenças de maiúsculas/minúsculas ou de espaços em branco.

Como resolver

Insira primeiro o registro correspondente na tabela pai, depois na tabela filha. Verifique se a referência existe: SELECT * FROM parent_table WHERE key_col = value; Em cargas em massa, processe as tabelas na ordem correta (primeiro o pai). Para encontrar a linha que viola, compare o valor na tabela filha com a tabela pai usando NOT IN / um anti-join.

Abrir no DBAtlas →

Mais entradas deste banco