Criei uma chave de unicidade numa tabela, quando ela recebe um INSERT estava ocasionando um violação dessa constraint,

    mas o valor que ocasionou a violação não se encontra na tabela.


Este insert é em "massa" ou é um único insert?
Já vi casos de o valor não existir, antes do insert, mas como eu estava fazendo um insert em massa ele dava erro durante o insert, então a app. fazia rollback e eu lá ia eu conferir os dados e não existia a chave duplicada.

Não deveria, mas as vezes acontece! =)

Deveria ser registro a registro, o caso é que é uma trhread que fica lendo uma porta aonde tem uma comutadora de leitores de codigo de barras. Tudo funcionava perfeitamente já por um bom tempo, Postgres e aplicativo não foram alterados.

Mexeram no tempo do feixe de luz do microterminal(Passo), para ficar mais tempo aberto e facilitar a leitura. Pensando no q vc me disse, talvez isso possa estar ocasionado algum insert em massa.

    Removi a chave de unicidade para ver o estava sendo incluído.

    Para minha surpresa, não foi incluido nenhum valor duplicado.


Este resultado foi quando você removeu a chave e a trigger estava habilitada?
     Sim, removi a chave e deixei a trigger habilitada.

--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a