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