[firebase-br] Old or new

W O sistemas2000profesional em gmail.com
Ter Nov 5 16:44:47 -03 2013


Las pseudo variables OLD y NEW se utilizan solamente dentro de los
triggers. Te permiten conocer cual era el valor "antes" de la actualización
y el valor actual, el que se quiere guardar.

En tu INSERT solamente es obligatorio especificar el valor de las columnas
que están declaradas como NOT NULL. Las columnas que pueden contener NULL
no es necesario especificarlas (pero si no las especificas se guardará NULL
en ellas).

No necesitas verificar que una columna haya cambiado su valor para
guardarla. Siempre lo que se guardará será el contenido de la
pseudovariable NEW

O sea que escribir dentro de un trigger:
INSERT INTO MiTabla (Columna1, Columna2, Columna3) VALUES (NEW.Columna1,
NEW.Columna2, NEW.Columna3)

es perfectamente válido.

Desde luego que "MiTabla" es otra tabla, no la que corresponde al trigger.

Saludos.

Walter.





2013/11/5 José Mauricio Barbisan Zottis <bzottis em ig.com.br>

> Pessoal, to com uma dúvida boba, mas surgiu....
>
> Preciso cadastrar em uma outra tabela o cliente que sofreu alteração(Quase
> todos os campos)
>
> é preciso fazer a distinção entre o new e o old para pegar o valor ou posso
> colocar ctudo como new/
>
> exemplo;
> Consideremos que o campo razao_social não foi alterado e o campo
> Nome_fantasia foi. Poderia fazer direto assim:
>
> insert into clientes(cod_cliente, Razao_social,
> nome_fantasia)values(new.cod_cliente, new.razao_social, new.nome_fantasia)
> pois senão precisarei fazer a verificação de um monte de campos.
>
> obrigado
> ______________________________________________
> 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