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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager