SQL - Campos modificados TRIGGERS

 
Vista:

Campos modificados TRIGGERS

Publicado por Alguien (3 intervenciones) el 31/01/2007 16:40:51
Supongamos que dentro de un trigger que se dispará al realizar un update de una tabla, necesito saber exactamente qué campos han sido modificados... ¿cómo puedo hacerlo??

A mí se me ocurre ir comparando los :old.[campo] y :new.[campo] de todos los campos de la tabla que se va actualizar, pero es una tabla con muchos campos y creo que debe de haber alguna forma más lógica...

¿Alguien me puede ayudar??


Saludos, muchas gracias y perdón por las molestias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Campos modificados TRIGGERS

Publicado por Liliana (426 intervenciones) el 31/01/2007 17:37:09
Hola,
(MS SQL Server)
En la ayuda hay una explicación detallada del uso de IF UPDATE (columna) y de IF COLUMNS_UPDATED().
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos modificados TRIGGERS

Publicado por Isaías (5072 intervenciones) el 31/01/2007 17:58:09
La instruccion que debes utilizar es: IF UPDATE ( column ):

IF UPDATE (column)

Prueba una acción INSERT o UPDATE en una columna especificada y no se utiliza con operaciones DELETE. Se puede especificar más de una columna. Como el nombre de la tabla se especifica en la cláusula ON, no lo incluya antes del nombre de la columna en una cláusula IF UPDATE. Para probar una acción INSERT o UPDATE para más de una columna, especifique una cláusula UPDATE(column) separada a continuación de la primera. IF UPDATE devolverá el valor TRUE en las acciones INSERT porque en las columnas se insertaron valores explícitos o implícitos (NULL).


Nota La cláusula IF UPDATE (column) funciona de forma idéntica a una instrucción IF, IF...ELSE o WHILE, y puede utilizar el bloque BEGIN...END. Para obtener más información, consulte Lenguaje de control de flujo.

UPDATE(column) puede utilizarse en cualquier parte dentro del cuerpo del desencadenador.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos modificados TRIGGERS

Publicado por Alguien (3 intervenciones) el 31/01/2007 22:18:58
Muchas gracias a ambos por la ayuda.

Me ha sido de gran utilidad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos modificados TRIGGERS

Publicado por Isaías (5072 intervenciones) el 31/01/2007 23:18:55
Un placer.......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos modificados TRIGGERS

Publicado por sdleslklf (1 intervención) el 15/02/2007 23:23:40
fvde byumjo,pujyohngubdfyvracegu5hi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar