Tratando erro de chave duplicada no PostgreSQL

0Comments

No PostgreSQL é possível realizar tratamento para diversos tipos de erros  que geram excessões (exceptions) e de uma forma geral interrompem a execução da nossa query.

Uma delas e muito comum de acontecer é a violação de duplicidade de chave primária (primary key) ou índice de unicidade (unique index), que quando disparados, gera o erro duplicate key value violates unique constraint.

duplicate-key-value-violates-unique-constraint

O erro duplicate key value violates unique constraint ocorre quando tentamos inserir um valor duplicado em uma coluna de chave primária (primary key) ou em uma tabela contendo índice de unicidade (unique index), pois com essas restrições campos são permitidos apenas um valor único, sem duplicidade.

Veja um pouco mais sobre chaves primárias (primary key) no PostgreSQL.

Criando um índice de unicidade (unique index) no PostgreSQL.

Para evitar que esse tipo de erro aconteça, podemos criar um procedimento (procedure) através de uma função (function) que será usada para inserir o registro na tabela desejada. Dessa forma, ao invés de realizarmos um insert direto na tabela, executaremos a chamada dessa procedure que internamente fará o tratamento dessa excessão (exception).

Leia nosso artigo falando sobre como tratar problemas de violação de unicidade e entenda como resolver o erro duplicate key value violates unique constraint.

Tags:, , , , ,