Bonjour,
J'ai un gros soucis et je bloque dessus depuis ce matin sans trouver la réponse.
J'essaie de faire une boucle avec une requête UPDATE, je m'explique :
J'ai crée une colonne NumLigne et je voudrai mettre dans cette colonne le n° de la ligne de ma table, c'est pourquoi j'utilise une boucle WHILE mais le problème c'est que cela ne fonctionne pas.
Voici le code :
DECLARE @Cpt INT;
SET @Cpt = 0;
WHILE @Cpt < (SELECT COUNT(*) FROM TI_Ventes)
Begin
UPDATE TI_Ventes SET NumLigne = @Cpt, IdDate_T1 = CAST (PLL_IdCommande as CHAR(6)) + CAST(YEAR(PLL_DateLivraison) as CHAR (4)) + CAST(MONTH(PLL_DateLivraison) as CHAR (2));
SET @Cpt = @Cpt + 1;
END
Ce qui ce passe c'est que la requête met à jour le contenu de ma table à chaque passage dans la boucle.
Ex :
Si j'ai 5 lignes et bien je vais avoir une boucle qui va s'exécuter 5 fois et la mise à jour va me mettre 5 fois l'ensemble de la table à jour ce qui au final me mettra 5 partout dans la colonne NumLigne.
Si vous pouviez m'aider car là je bloque.
Merci d'avance.
Johann36







Répondre avec citation
Partager