Vuelvo con los triggers!!! grgrgrgrgr

12/08/2003 - 17:34 por davidojeda | Informe spam
estoy tratando de implementar una bitacora para mi bd..

estuve utilizando la funcion "if update(campo)", pero esa funcion me
devuelve verdadero siempre que se graba ese campo, independientemente
si se vuelve a garbar la misma informacion o no, me explico? es decir:

tengo un registro

IDEMPLEADO NOMBRE APELLIDO
1 JUAN PEREZ

SI EJECUTO UPDATE EMPLEADO SET NOMBRE='JUAN' WHERE IDEMPLEADO=1

y en el triger valido if update(nombre), la condicion me devuelve
verdadero,
lo que yo pensaba es que me devolvia verdadero si los datos eran
diferentes,

entonces como puedo para validar si un campo tiene un valor diferente
despues de un update???

porque en la tabla inserted y en la de empleado despues del update y
durante la ajecucion del trigger se encuentran exactamente iguales!!

una ayudadita please!!!!

esque si no puedo validar eso la bd de bitacora ira creciendo con
mucha rapides!!!
 

Leer las respuestas

#1 Chente
12/08/2003 - 17:44 | Informe spam
Que tal David, lo que yo tengo implementado es lo siguiente, es un poco
burdo pero funciona, a lo mejor alguien mas puede colaborar...

tienes pasar los valores anteriores y los nuevos a parametros y enntoces
validas que sean diferentes...

if update(mcreferencia) and (@mcreferencia_v <> @mcreferencia_n)
hacemos lo que tengamos que hacer...



Saludos.

Vicente López.


"David Ojeda" escribió en el mensaje
news:
estoy tratando de implementar una bitacora para mi bd..

estuve utilizando la funcion "if update(campo)", pero esa funcion me
devuelve verdadero siempre que se graba ese campo, independientemente
si se vuelve a garbar la misma informacion o no, me explico? es decir:

tengo un registro

IDEMPLEADO NOMBRE APELLIDO
1 JUAN PEREZ

SI EJECUTO UPDATE EMPLEADO SET NOMBRE='JUAN' WHERE IDEMPLEADO=1

y en el triger valido if update(nombre), la condicion me devuelve
verdadero,
lo que yo pensaba es que me devolvia verdadero si los datos eran
diferentes,

entonces como puedo para validar si un campo tiene un valor diferente
despues de un update???

porque en la tabla inserted y en la de empleado despues del update y
durante la ajecucion del trigger se encuentran exactamente iguales!!

una ayudadita please!!!!

esque si no puedo validar eso la bd de bitacora ira creciendo con
mucha rapides!!!

Preguntas similares