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