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 <[email protected]> > 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 > > [email protected] > > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- André de Camargo Fernandes
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
