Trigger con insercion multiple

21/11/2007 - 16:10 por javier | Informe spam
Hola a todos, a ver si me puedo explicar, resulta que tengo un trigger que
hace insercion del modo Insert into T_XX (campo1,) Select campo1,
from xx
donde se insertan de golpe 2-3 filas, el caso es que en la tabla en la que
inserto tengo un trigger en el que para cada insercion hago un tratamiento
del tipo

Declare @xx

Select @xx=Select Campox from inserted

Bueno, el resultado final es que este tratamiento solo se genera para la
primera fila insertada ¿Como puedo hacer que mi tratamiento se ejecute
para todas las filas insertadas, cuando inserted tenga mas de 1 fila.

Muchas gracias

Preguntas similare

Leer las respuestas

#1 Maxi Accotto
21/11/2007 - 16:31 | Informe spam
Hola, haciendo lo mismo que has hecho en el primero, uno de los errores mas
comunes en pensar y diseñar los triggers pensando en registro por registro,
los mismos se disparan por sentencia y no registro a registro.
No se que tipo de tratamiento le esta haciendo usted, pero en principio si
quiere manejar registro a registro debe pensar en el uso de cursores desde
SQLServer, pero debe saber que esta tecnica no es recomendada porque genera
bloqueos y ademas problemas de performance


Microsoft MVP SQLServer
www.sqltotalconsulting.com
-

"javier" escribió en el mensaje de
noticias:
Hola a todos, a ver si me puedo explicar, resulta que tengo un trigger que
hace insercion del modo Insert into T_XX (campo1,) Select campo1,
from xx
donde se insertan de golpe 2-3 filas, el caso es que en la tabla en la que
inserto tengo un trigger en el que para cada insercion hago un tratamiento
del tipo

Declare @xx

Select @xx=Select Campox from inserted

Bueno, el resultado final es que este tratamiento solo se genera para la
primera fila insertada ¿Como puedo hacer que mi tratamiento se ejecute
para todas las filas insertadas, cuando inserted tenga mas de 1 fila.

Muchas gracias
Respuesta Responder a este mensaje
#2 javier
21/11/2007 - 16:55 | Informe spam
Le has dado otro sentido a mi vida Maxi, muchas gracias, creo que podre
apañarme para hacerlo como me dices.

Saludos
Jose

"Maxi Accotto" wrote:

Hola, haciendo lo mismo que has hecho en el primero, uno de los errores mas
comunes en pensar y diseñar los triggers pensando en registro por registro,
los mismos se disparan por sentencia y no registro a registro.
No se que tipo de tratamiento le esta haciendo usted, pero en principio si
quiere manejar registro a registro debe pensar en el uso de cursores desde
SQLServer, pero debe saber que esta tecnica no es recomendada porque genera
bloqueos y ademas problemas de performance


Microsoft MVP SQLServer
www.sqltotalconsulting.com
-

"javier" escribió en el mensaje de
noticias:
> Hola a todos, a ver si me puedo explicar, resulta que tengo un trigger que
> hace insercion del modo Insert into T_XX (campo1,) Select campo1,
> from xx
> donde se insertan de golpe 2-3 filas, el caso es que en la tabla en la que
> inserto tengo un trigger en el que para cada insercion hago un tratamiento
> del tipo
>
> Declare @xx
>
> Select @xx=Select Campox from inserted
>
> Bueno, el resultado final es que este tratamiento solo se genera para la
> primera fila insertada ¿Como puedo hacer que mi tratamiento se ejecute
> para todas las filas insertadas, cuando inserted tenga mas de 1 fila.
>
> Muchas gracias


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