Création d'un déclencheur
Bonjour, a toute et a tous
j'ai besoin d'aide sur un code sql pour faire un déclencheur .
Créez un déclencheur sur la table « s_item » qui va s’assurer de modifier le contenu de la colonne amount_in_stock de la table « s_inventory » à chaque insertion d’un item (table s_item) et qui va s’assurer que la nouvelle valeur ne soit pas supérieure à la valeur de « max_in_stock ». Lorsque c’est le cas, la valeur de la colonne « quantity » de la table « s_item » est ajustée.
voila mon code , j'arrive a bloqué la mis a jour sur la table s_inventory si la colonne amount_in_stock et superieur a max_in_stock , mais la colonne quantity sur la table s_item elle se mis a jour, alors que la condition et que le quantité ajouté + amount_in_stock ne devrais pas dépasser le max_in_stock
merci, pour votre aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
CREATE or ALTER TRIGGER T1 ON s_item
FOR INSERT
AS
begin
declare @id_ord decimal (7,0)
declare @id_item decimal (7,0)
declare @id_product decimal (7,0)
declare @Qte decimal (9,0)
DECLARE @DIFF decimal (9,0)
DECLARE @max_in_stock decimal (9,0)
select @id_ord=ord_id,@id_item=item_id, @id_product=product_id, @Qte=quantity from inserted
select @max_in_stock = max_in_stock from s_inventory inserted
UPDATE s_item SET quantity = @Qte
where ord_id = @id_ord and @Qte < @max_in_stock
update s_inventory Set amount_in_stock = amount_in_stock +@Qte
where product_id=@id_product and amount_in_stock < @max_in_stock
end |