Em 09/11/07, Thiago Risso<[EMAIL PROTECTED]> escreveu:
> >  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
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>

Pode ser, outro detalhe é que estou executando via psql -d banco -U
xxx -f arquivo.sql. Vou fazer um teste utilizando o comando INSERT pra
ver se rola o EXCEPTION, depois conto o resultado.

Agradeço novamente o apoio.

[]s

-- 

    .~.
  /  v  \    Flávio Luiz Castro
/ (  _  )\
    ^  ^    Linux Registered User: 347610
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a