1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER[SOLDE_AJOUT]
ON [dbo].[MOUVEMENTS]
FOR INSERT
AS
DECLARE @l char(5), @i char(15),@q numeric(18,5),@p numeric(18,5),
@pm numeric(18,5),@lp numeric(18,5),@s numeric(18,5)
BEGIN
SELECT @l=INSERTED.LOCATION,@i=INSERTED.ITEM_CODE,
@q=INSERTED.QUANTITY,@p=INSERTED.LAT_VALUE FROM INSERTED
SELECT @s=dbo.SoldeArticle.PHYSICAL FROM dbo.SoldeArticle
WHERE
dbo. dbo.SoldeArticle.LOCATION=@l AND dbo.SoldeArticle.ITEM_CODE=@i
SELECT @pm=dbo.Articles.AVE_COST FROM dbo. Articles
WHERE dbo. Articles.ITEM_CODE=@i
UPDATE dbo. SoldeArticle SET dbo. SoldeArticle.PHYSICAL = dbo. SoldeArticle.PHYSICAL + @q WHERE dbo. SoldeArticle.LOCATION=@l AND dbo. SoldeArticle.ITEM_CODE=@i
UPDATE dbo. Articles SET LAT_COST=@p,AVE_COST= ((@q*@p + @s*@pm)/(@q +@s))WHERE dbo. Articles.ITEM_CODE=@i
END |
Partager