ORA-00001: Unique constraint violated
OracleO 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.