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

ORA-02292: integrity constraint violated - child record found

Oracle

O que significa?

Uma linha pai foi excluída ou teve sua chave alterada, mas a constraint de foreign key não permitiu porque existem registros filhos dependentes.

Por que acontece?

Tentativa de DELETE de uma linha pai que tem registros na tabela filha; a FK está definida sem ON DELETE CASCADE; os registros dependentes não foram limpos antes.

Como resolver

Primeiro exclua os registros filhos dependentes ou mova-os para outro registro pai, depois exclua a linha pai. Se a regra de negócio permitir, recrie a foreign key com ON DELETE CASCADE: ALTER TABLE child DROP CONSTRAINT fk_name; ALTER TABLE child ADD CONSTRAINT fk_name FOREIGN KEY (my_column) REFERENCES parent(key_col) ON DELETE CASCADE; Para encontrar as linhas dependentes, consulte a tabela filha pela chave pai.

Abrir no DBAtlas →

Mais entradas deste banco