![]() |
Trigger y multirow
Hol forer@s.
Tengo un problema. Tengo una tabla la cual la relleno a partir de una sentencia SQL. Esta sentencia puede insertar más de un registro en la tabla. En dicha tabla he creado un trigger FOR INSERT. El problema es que al ejecutar la sentencia SQL e insertarme más de un registro en la tabla, el trigger sólo se me ejecuta una vez. Querría que por cada registro, se me ejecutara. El trigger es este: -------------------------------------------------------------------------- CREATE TRIGGER SPH_MOVIMIENTOS_INS ON dbo.SPH_MOVIMIENTOS_STOCK FOR INSERT AS DECLARE cr_MOV_INSERT Insensitive Cursor for SELECT FECHA_MOV, TIPO_MOV, COD_ING_INT_MOV, CDAD_MOV, COD_ALM_MOV, NUM_LOTE_MOV, COD_USER_MOV FROM Inserted OPEN cr_MOV_INSERT FETCH cr_MOV_INSERT INTO @FECHA_MOV, @TIPO_MOV, @COD_ING_INT, @CDAD_MOV, @COD_ALM, @NUM_LOTE, @COD_USER "Aquí hago los cálculos que necesito" *********************** CLOSE cr_MOV_INSERT DEALLOCATE cr_MOV_INSERT ------------------------------------------------------------------------- No se si me falta algo para que me lo vaya haciendo para cada registro insertado. De antemano, os doy las gracias. Saludos. |
Soy yo o faltaría el While sobre el cursor
nos dices si fue eso |
Gracias sinalocarlos. Ya sabía yo que faltaba algo. Claro, si no recorro los registros insertados, pues ya puedo esperar sentado.
Como tú has indicado, era cuestión de introducir la condición While @@fetch_status = 0 y al final volver a leer el nuevo registro. Muchas gracias otra vez. Saludos. |
La franja horaria es GMT +2. Ahora son las 22:36:56. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi