>  Veja o o proprio log q vc passou.
>  A linha 1, 1º INSERT - Passa no raise
>  A linha 2, 2º INSERT - Passa no raise
>  A linha 3, 3º INSERT - dá o erro e não entra na trigger.
>
>  Percebe q a cada linha entra na trigger porque *em cada linha é dado um
> INSERT*!
>
>  Entendeu?
Na real... Ele não estoura antes da trigger, mas não gera o EXCEPTION,
pq o INSERT está sendo EFETUADO FORA DA FUNCAO (pelo menos foi o que
eu constatei).. Para gerar o EXCEPTION, o COPY deveria estar dentro da
funcao....


tipo .... :

CREATE OR REPLACE FUNCTION foo(file VARCHAR) RETURNS VOID AS $$
     COPY FROM ....;
    EXCEPTION
   WHEN unique_violation THEN
       RAISE NOTICE 'PULANDO';
       RETURN;
   END;


END
$$
LANGUAGE 'plpgsql';
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a