[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