[firebase-br] RES: Dúvidas com relação as variáveis NEW e OLD em triggers

Rubens rubens_p.n em outlook.com
Qua Out 30 12:08:59 -03 2013


Quanto a verificar se o valor do campo foi alterado é isso mesmo.
If (NEW.campo <> OLD.campo) then

Sobre o status, o NEW e o OLD de campos que não sofreram alterações tem o
mesmo valor, então para não repetir, teria que colocar a verificação NEW <>
OLD, pois quando passasse na verificação, só entraria quando fosse alterado
esse campo para o status indicado.

-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Joel do Prado
Junior
Enviada em: quarta-feira, 30 de outubro de 2013 11:53
Para: FireBase
Assunto: Re: [firebase-br] Dúvidas com relação as variáveis NEW e OLD em
triggers

Não testei, mas penso assim:

*Before Insert = NEW*
*After Insert =   NEW*
*
*
*Before Update = OLD e NEW*
*After Update = OLD e NEW
*
*
*
*Before Delete = OLD*
*After Delete = OLD*


Em 30/10/2013 10:49, Felipe Aron escreveu:
> Galera, uma dúvida com relação as variáveis NEW e OLD em triggers - me 
> corrijam se estiver errado:
>
> *Before Insert = NEW*
> *After Insert = OLD e NEW*
> *
> *
> *Before Update = OLD e NEW*
> *After Update = OLD e NEW
> *
> *
> *
> *Before Delete = OLD e NEW *
> *After Delete = OLD*
>
>
> Outra questão:
>
>
> a) Preciso disparar uma procedure, após alteração do registro somente 
> quando determinado campo tiver seu valor alterado.
>
> *Para isso posso fazer? *
> *
> *
> *if (OLD.campo <> NEW.campo) ...*
>
>
> b) Quando o status for "OK" executar uma ação.
>
> Para executar a ação apenas uma única vez teria de fazer?
>
> *if (NEW.status = 'OK' and OLD.status <> NEW.status)*
>
> Apenas usando NEW.status = 'OK' correria o risco da ação ser executada 
> mais de uma vez, caso o registro tivesse algum outro campo alterado
correto?
>
>
>


______________________________________________
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