Hola a todos:
Tengo una tabla (tblMovimientosAlmacen) donde introduzco registros de
entrada y salida de mercancias con los campos: IdArticulo, IdCentro,
UnidEntrada, UnidSalida
En otra tabla (tblArtStock) llevo el stock actual de cada articulo por cada
centro que tengo, con los campos: IdArticulo, IdCentro, StockAc
He creado un Trigger con el fin de que cuando elimino un registro de la
tabla tblMovimientosAlmacen me actualize en la tabla del stock actual.
La situación es que si elimino un unico registro de tblMovimentosAlmacen me
funciona perfectamente; en cambio, si hago un DELETE de varias filas solo me
modifca el primero y el resto ni los toca.
A ver si alguien me puede echar una mano, por que me he vuelto loco con la
ayuda se SQL SERVER 2000.
El trigger es el siguiente:
CREATE TRIGGER EliminaMov ON tblMovimientosAlmacen
FOR DELETE
AS
DECLARE @ArtId nvarchar(50), @CenId tinyint, @CEntrada int, @CSalida int
SELECT @ArtId=IdArticulo, @CenId=IdCentro, @CEntrada=UnidEntrada,
@CSalida=UnidSalida
FROM deleted
UPDATE [tblArtStock]
SET StockAC=StockAC-@CEntrada+@CSalida
WHERE IdArticulo=@ArtId AND IdCentro=@CenId
Gracias por anticipado, un saludo
Juan
Leer las respuestas