Bonjour à tous, je ne comprends pas pourquoi le curseur ci-dessous ne réalise pas les UPDATE nécessaires sur les produits de numéro 4...
Je souhaiterais que le curseur parcoure tous les tuples et pour les produits de numéro 4 ajoute 10 à la quantité si la quantité est < à 20 et soustrait 5 si la quantité est >= à 20.
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 DECLARE @quant varchar(180); DECLARE qua cursor FOR SELECT Qtecom FROM LIGNE WHERE Noprod = 4; OPEN qua; FETCH NEXT FROM qua INTO @quant; WHILE @@FETCH_STATUS = 0 BEGIN IF (@quant < 20) BEGIN UPDATE LIGNE SET @quant = @quant + 10 FETCH NEXT FROM qua INTO @quant END IF (@quant >= 20) UPDATE LIGNE SET @quant = @quant - 5 FETCH NEXT FROM qua INTO @quant END; CLOSE qua; DEALLOCATE qua;
Merci beaucoup !
Partager