[firebase-br] UPDATE EM TRIGGER
Kleber Caneva
kdcc em terra.com.br
Seg Out 29 11:50:59 -03 2007
Se você criou um campo como NOT NULL e a tabela já estiver populada, não
esqueça de preencher o campo, senão pode ter problemas de corrupção. O FB
permite isso, pq senão vc não conseguiria criar um cmapo NOT NULL numa
tabela populada.
Agora se vc quiser fazer um cmaporação, onde um dos valores pode ser NULL,
como qualquer coisa comparada com null é falsa (exeto ele mesmo), existem 2
formas:
1) ((new.codlocal01 is null) and (old.codlocal01 is not null)) or
((new.codlocal01 is not null) and (old.codlocal01 is null)) or
(new.codlocal01 <> old.codlocal01)
2) (Coalesce( new.codlocal01, -1 ) <> Coalesce( old.codlocal01, -1 ))
Por motivos obveis eu prefiro a segunda.
[]´s
Kléber Caneva
----- Original Message -----
From: "Robson - KSA" <robson em ksaweb.com.br>
To: <lista em firebase.com.br>
Sent: Monday, October 29, 2007 8:40 AM
Subject: [firebase-br] UPDATE EM TRIGGER
Estou com um problema em uma trigger que fiz. Dentro dela existe a seguinte
condição:
If (new.codlocal01 <> old.codlocal01)
begin
<Comando>
end
mas se o campo codlocal01 já foi criado como null e em um update fazer a
alteração deste campo ele
entende essa primeira alteração como falsa e só no segundo update (com algum
valor dentro de codlocal01)
que ele entende o comando como valido.
Minha pergunta é: isso é algum bug ou estou fazendo a comparação de forma
incorreta?,
sem esquecer que estou configurando a trigger como BEFORE / UPDATE.
Obrigado.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=kdcc&_l=1,1193654481.139579.18793.aldabra.hst.terra.com.br,4423,Des15,Des15
Mais detalhes sobre a lista de discussão lista