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

Denis da Silva Guerra listas.denisguerra em gmail.com
Seg Jul 5 09:39:35 -03 2010


Oi, Ivan
É exatamente esta a situação que eu queria evitar...
As tabelas têm muitos campos, e, além da necessidade em colocar cada campo
dentro das Triggers, tenho que estar sempre ligado nos futuros novos Campos.

Fica aí mais uma sugestão para a equipe de desenvolvimento do Firebird:
A possibilidade em se comparar os termos OLD e NEW como objetos. 
Ex: IF (OLD <> NEW) then...

De qualquer forma, valeu a força!
Grande Abraço!

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





-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Ivan Guimarães Meirelles
Enviada em: segunda-feira, 5 de julho de 2010 08:30
Para: 'FireBase'
Assunto: [firebase-br] RES: Verificar se houve alguma alteração

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


______________________________________________
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