Bonjour,

J'ai un problème de variables qui perd sa valeur à l'intérieur d'une requête intégrant des boucles de calcul et je ne comprends pas pourquoi. Voici une description du problème :
Voulant mesurer une surface autour de lignes, je mets un buffer (STBuffer)autour de lignes que j'agglomère avec un STUnion. Je mesure la surface de cet agglomérat avec la fonction STArea et cela se passe bien. Je fais une boucle pour traiter toutes mes lignes et je désire la surface finale (donc après la boucle).
Lorsque je demande la surface de mon agglomérat au fur et à mesure de sa création (donc à l'intérieur de la boucle), cela fonctionne bien mais si je demande la même valeur à la fin (donc à l'extérieur de la boucle), cela ne marche plus et je ne comprends pas pourquoi. Et ce d'autant que quand je fais le même calcul avec des boucles simples du type suivant, cela fonctionne (j'ai les valeurs intermédiaires de @c et la valeur finale). Quelqu'un a t'il une idée ? Merci d'avance

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
declare @a int 
declare @b int
declare @c int
set @a=1
set @b=1
 
while @b <10
begin 
set @a=@a+2
set @c=@a
Print @c
set @b=@b+1
end
Print @c