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

ORA-00001: Unique constraint violated

Oracle

O que significa?

Uma linha inserida ou atualizada viola uma constraint UNIQUE ou PRIMARY KEY. Em outras palavras, o mesmo valor já existe.

Por que acontece?

Reinserção de uma linha com o mesmo valor de chave, entrada de dados duplicados em uma coluna que deve ser única, ou processamento do mesmo registro duas vezes durante replicação/reexecuções.

Como resolver

Encontre a coluna violada a partir do nome da constraint na mensagem de erro: SELECT column_name FROM all_cons_columns WHERE constraint_name = 'CONSTRAINT_NAME'. Use GROUP BY ... HAVING COUNT(*) > 1 para encontrar dados duplicados. Na aplicação, use UPDATE ou MERGE em vez de INSERT para registros existentes. Se o valor da sequence ficou para trás, avance-o com ALTER SEQUENCE.

Abrir no DBAtlas →

Mais entradas deste banco