se puede saber que campo se modifica con un update ?

30/03/2005 - 16:25 por Mennegguzzi | Informe spam
Hola a todos, tengo la siguiente consulta:

tengo que hacer un trigger que se ejecute cuando suceda el evento Update en
una determinada tabla.
hasta ahí estoy bien,

el tema es que necesito que el trigger se ejecute solo si el update modifica
un determinado campo de esa tabla.

hay alguna manera de saber que campo se está modificando ?

desde ya muchas gracias por su ayuda

saludos

Pablo

Preguntas similare

Leer las respuestas

#11 Alejandro Mesa
30/03/2005 - 22:43 | Informe spam
Maxi,

Como dije antes, agradezco tus comentarios. Yo no tengo guardado links a
paginas con articulos en español, asi que cada vez que posteas uno, pues no
solo que lo leo, sino que lo guardo como referencia.


AMB

"Maxi" wrote:

Tenes razion, no dije que hayas dicho lo contrario, solo lo mio fue una
aclaracion para que nuestro amigo pueda comprender bien el problema.


Salu2
Maxi


"Alejandro Mesa" escribió en el
mensaje news:
> Maxi,
>
> Yo no he dicho lo contrario. Eso ya depende de las reglas de negocio o
> necesidades del usuario. Esto puede ser tan sencillo como chequear que la
> columna formo parte de la sentencia UPDATE o tan complejo como chequear
> que
> el valor de una columna tipo VARCHAR con intercalacion no sensitiva cambio
> su
> valor de minusculas a mayusculas, cosa que con una simple comparacion
> i.colA
> != d.colA no se detectaria, lo mismo pasaria cuando la columna permite el
> valor NULL o cuando la columna en question es tipo FLOAT, pues Microsoft
> recomienda evitar el uso de este tipo de columnas en comparasiones de
> igualdad o desigualdad en la clausula WHERE (Ve "Using float and real
> Data"
> en los libros en linea). De todas manera agradezco tu comentario.
>
>
> AMB
>
> "Maxi" wrote:
>
>> Hola Ale, un solo comentario. Que una columna forme parte de un Update no
>> quiere decir que se haya modificado realmente el dato con lo cual no es
>> muy
>> util esl uso de COLUMNS_UPDATE() :(
>>
>> Lo que yo hago para verificar 100% esto es comparar ese campo entre a
>> tabla
>> Inserted y Deleted y si hay diferencias entonces estoy seguro que hay
>> cambios :-)
>>
>> En este link explico un poco mas este tema con unos ejemplos:
>>
>> http://www.microsoft.com/spanish/ms...art168.asp
>>
>>
>> Salu2
>> Maxi
>>
>>
>> "Alejandro Mesa" escribió en el
>> mensaje news:
>> > Chequea "CREATE TRIGGER" en los libros en linea, ahi encontraras
>> > ejemplos
>> > de
>> > como consultar si la columna X formo parte de la sentencia UPDATE que
>> > disparo
>> > el trigger.
>> >
>> > - Para chequear una columna en especifico
>> >
>> > IF UPDATE (column)
>> >
>> > - Varias columnas
>> >
>> > IF (COLUMNS_UPDATED())
>> >
>> >
>> > AMB
>> >
>> >
>> >
>> > "Mennegguzzi" wrote:
>> >
>> >> Hola a todos, tengo la siguiente consulta:
>> >>
>> >> tengo que hacer un trigger que se ejecute cuando suceda el evento
>> >> Update
>> >> en
>> >> una determinada tabla.
>> >> hasta ahí estoy bien,
>> >>
>> >> el tema es que necesito que el trigger se ejecute solo si el update
>> >> modifica
>> >> un determinado campo de esa tabla.
>> >>
>> >> hay alguna manera de saber que campo se está modificando ?
>> >>
>> >> desde ya muchas gracias por su ayuda
>> >>
>> >> saludos
>> >>
>> >> Pablo
>> >>
>> >>
>> >>
>>
>>
>>



Respuesta Responder a este mensaje
#12 Maxi
30/03/2005 - 22:52 | Informe spam
:-)


Salu2
Maxi


"Alejandro Mesa" escribió en el
mensaje news:
Maxi,

Como dije antes, agradezco tus comentarios. Yo no tengo guardado links a
paginas con articulos en español, asi que cada vez que posteas uno, pues
no
solo que lo leo, sino que lo guardo como referencia.


AMB

"Maxi" wrote:

Tenes razion, no dije que hayas dicho lo contrario, solo lo mio fue una
aclaracion para que nuestro amigo pueda comprender bien el problema.


Salu2
Maxi


"Alejandro Mesa" escribió en el
mensaje news:
> Maxi,
>
> Yo no he dicho lo contrario. Eso ya depende de las reglas de negocio o
> necesidades del usuario. Esto puede ser tan sencillo como chequear que
> la
> columna formo parte de la sentencia UPDATE o tan complejo como chequear
> que
> el valor de una columna tipo VARCHAR con intercalacion no sensitiva
> cambio
> su
> valor de minusculas a mayusculas, cosa que con una simple comparacion
> i.colA
> != d.colA no se detectaria, lo mismo pasaria cuando la columna permite
> el
> valor NULL o cuando la columna en question es tipo FLOAT, pues
> Microsoft
> recomienda evitar el uso de este tipo de columnas en comparasiones de
> igualdad o desigualdad en la clausula WHERE (Ve "Using float and real
> Data"
> en los libros en linea). De todas manera agradezco tu comentario.
>
>
> AMB
>
> "Maxi" wrote:
>
>> Hola Ale, un solo comentario. Que una columna forme parte de un Update
>> no
>> quiere decir que se haya modificado realmente el dato con lo cual no
>> es
>> muy
>> util esl uso de COLUMNS_UPDATE() :(
>>
>> Lo que yo hago para verificar 100% esto es comparar ese campo entre a
>> tabla
>> Inserted y Deleted y si hay diferencias entonces estoy seguro que hay
>> cambios :-)
>>
>> En este link explico un poco mas este tema con unos ejemplos:
>>
>> http://www.microsoft.com/spanish/ms...art168.asp
>>
>>
>> Salu2
>> Maxi
>>
>>
>> "Alejandro Mesa" escribió en
>> el
>> mensaje news:
>> > Chequea "CREATE TRIGGER" en los libros en linea, ahi encontraras
>> > ejemplos
>> > de
>> > como consultar si la columna X formo parte de la sentencia UPDATE
>> > que
>> > disparo
>> > el trigger.
>> >
>> > - Para chequear una columna en especifico
>> >
>> > IF UPDATE (column)
>> >
>> > - Varias columnas
>> >
>> > IF (COLUMNS_UPDATED())
>> >
>> >
>> > AMB
>> >
>> >
>> >
>> > "Mennegguzzi" wrote:
>> >
>> >> Hola a todos, tengo la siguiente consulta:
>> >>
>> >> tengo que hacer un trigger que se ejecute cuando suceda el evento
>> >> Update
>> >> en
>> >> una determinada tabla.
>> >> hasta ahí estoy bien,
>> >>
>> >> el tema es que necesito que el trigger se ejecute solo si el update
>> >> modifica
>> >> un determinado campo de esa tabla.
>> >>
>> >> hay alguna manera de saber que campo se está modificando ?
>> >>
>> >> desde ya muchas gracias por su ayuda
>> >>
>> >> saludos
>> >>
>> >> Pablo
>> >>
>> >>
>> >>
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida