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
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a