[firebase-br] RES: Verificar se houve alguma alteração

Ivan Guimarães Meirelles igmeirelles em gmail.com
Seg Jul 5 08:30:21 -03 2010


Olá Denis...

A única forma que conheço seria fazendo uma comparação entre os valores OLD
e NEW de cada campo,
Se algum campo tiver o valor OLD diferente de NEW então registra a data de
atualização.

A dificuldade ai seria em tabelas que contenham muitos campos, ou campos com
valores nulos,
Pois o Firebird entende que NULL é diferente de NULL...

Espero ter ajudado.
Um forte abraço.


-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Denis da Silva Guerra
Enviada em: segunda-feira, 5 de julho de 2010 00:10
Para: 'FireBase'
Assunto: [firebase-br] Verificar se houve alguma alteração

Pessoal,
Em várias situações, faço uso de Triggers para registrar Data e Hora da
última alteração do registro.
Porém, eu gostaria que a data só fosse registrada se realmente houve alguma
alteração no registro no momento do update.

Por exemplo, numa tabela onde tenho um campo com valores V e F. 
Se quero que todos os registros tenham o valor 'V', executo a sentença:
UPDATE TABELA SET CAMPO = 'V'

Assim TODOS os registros sofrerão o disparo da trigger para atualizar a Data
e a Hora de alteração.

Há alguma forma de detectar se houve alterações no registro dentro da
trigger?
Se não, há alguma forma de se contornar esta situação?


[]'s
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^
Denis da Silva Guerra
denisdsguerra em gmail.com
São José do Vale do Rio Preto - RJ
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^









______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista