Hola a todos,
tengo el siguiente trigger en una tabla de detalles de albaranes:
CREATE TRIGGER "DetalleAlbaranes_Delete"
ON dbo.DetalleAlbaranes
FOR DELETE
AS
/* Trigger que controla el número de pares servidos en cada partida */
DECLARE @Pares smallint,
@Pedido varchar(10),
@Folio varchar(10)
select @Pares=Pares FROM deleted
select @Pedido=Pedido FROM deleted
select @Folio=Folio FROM deleted
IF @Pedido<>'' AND @Folio<>'' AND @Pares<>0
UPDATE Pedidos SET ServAlbaran=ServAlbaran - @Pares
WHERE Pedido=@Pedido AND Folio=@Folio
Funciona perfectamente cuando se borran lineas de albaran, pero no cuando se
borra un albaran entero y, por consiguiente todas sus lineas.
Supongo que es porque sólo se activa el trigger una vez en lugar de por
todas las lineas.
Mi pregunta es cómo puedo hacer para recorrer todas las lineas. He visto un
ejemplo en la ayuda, pero no me sirve porque realiza una suma de todas las
lineas en lugar de aplicar el nº de pares por cada linea.
Gracias y un saludo
Leer las respuestas