[firebase-br] Trigger

Douglas Tosi douglasht em gmail.com
Qui Dez 18 12:34:37 -03 2008


2008/12/18 Alexandre Gonçalves <info em cacula.ind.br>:
> Estou criando um trigger AFTER UPDATE, e dentro dele tenho uma comparação
> que não está funcionando corretamente
>
> if (new.campo <> old.campo) then ...
>
> Quando faço uma alteração no campo que já contém um valor, essa comparação é
> feita corretamente, e o trigger consegue diferenciar os dois valores, mas se
> o campo for null e coloco algum dado, ele não reconhece que foi alterado.

nulo não é um valor, é um estado.
Por isso qualquer comparação com nulo retorna falso. Mesmo nulo ==
nulo é falso, daí a existência de IS NULL.

Teste com IS NULL ou com IS DISTINCT FROM.

hth,
-- 
Douglas Tosi
www.sinatica.com




Mais detalhes sobre a lista de discussão lista