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
 

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

Preguntas similares