Obrigado amigo, salvou um tempão meu ...

Quando der lhe pago um refri ...

Obrigado memso !!!

Andre Fernandes escreveu:
> Tem sim,
> Basta verificar a variável TG_OP, ela pode ter 3 valores: DELETE, 
> UPDATE, INSERT.
>  
> Veja no manual do postgresql, há inclusive exemplos usando essa variável.
>  
> http://www.postgresql.org/docs/8.4/interactive/plpgsql-trigger.html
>  
> Abraços,
> 
> 2009/9/25 Thiago 
> <zan...@farmaponte.com.br 
> <mailto:zan...@farmaponte.com.br>>
> 
>     Galera ...
> 
>     Pelo que vi esse passo "(old.nome <> new.nome)" só da problema quando a
>     trigger é no insert mas a minha trigger serve para ambos, tem como saber
>     se a trigger veio por insert ou update assim faço esse verificação
>     apenas no update.
> 
>     Obrigado !!!
> 
>     Thiago escreveu:
>      > Galera é o seguinte ...
>      >
>      > Tenho uma tabela e uma trigger que dispara tanto no update quanto no
>      > before e o for each está como row ...
>      >
>      > O que quero fazer é o seguinte ...
>      >
>      > Sempre que for incluir um novo registro quero saber se o valor
>     que está
>      > sendo colocado é diferente do antigo, ou seja, quero comparar o
>     old com
>      > o new ... por acaso isso funciona apenas para trigger que dispara em
>      > update ???
>      >
>      > Essa é a trigger ...
>      >
>      >     ---verificando se trocou o nome da maquina
>      >     vsig := '';
>      >     if (old.nome <> new.nome) and (new.filial = 99) then
>      >        if strpos('-',new.nome) > 0 then
>      >           vsig := substring(new.nome,1,strpos('-',new.nome));
>      >        end if;
>      >     else
>      >        return new;
>      >        exit;
>      >     end if;
>      >
>      > Ela compila normalmente mas quando executo um insert aparece o
>     seguinte
>      > erro:
>      >
>      > ERROR:  record "old" is not assigned yet
>      > DETAIL:  The tuple structure of a not-yet-assigned record is
>     indeterminate.
>      > CONTEXT:  PL/pgSQL function "tg_inffiliais_depart" line 7 at if
>      >
>      > Alguém sabe o que estou fazendo de errado.
>      >
>      > Obrigado !!!
>      >
>      > _______________________________________________
>      > pgbr-geral mailing list
>      > pgbr-geral@listas.postgresql.org.br
>     <mailto:pgbr-geral@listas.postgresql.org.br>
>      > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>      >
> 
>     _______________________________________________
>     pgbr-geral mailing list
>     pgbr-geral@listas.postgresql.org.br
>     <mailto:pgbr-geral@listas.postgresql.org.br>
>     https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> 
> 
> 
> 
> -- 
> André de Camargo Fernandes
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a