193 messaggi dal 05 settembre 2001
Sto lavorando ad una SP che deve riempire una tabella in queta maniera:

Campo 1..................Campo 2
0...........................0
0...........................1
0...........................2
1...........................0
1...........................1
1...........................2
2...........................0
2...........................1
2...........................2

per farlo ho creato un cliclo con il while in questa maniera:
SET @x = 0
SET @y = 0

WHILE @y <= @assey
BEGIN

WHILE @x <= @assex
BEGIN
INSERT INTO Tabella1 VALUES (@y, @x)
SET @x = @x + 1
END
    
SET @y = @y + 1
END

dove @assey e @assex sono due variabili int che passo alla mia sp (nell'esempio 2 e 2).

Solo non funziona: fa il secondo ciclo ma ignora il primo. In altre parole il risultato è:

Campo 1..................Campo 2
0...........................0
0...........................1
0...........................2

e si ferma qui. Qualche consiglio?

Ciao e grazie
148 messaggi dal 12 aprile 2001
Non sono espertissimo di SP, ma penso che ti manchi la reinizializzazione id @x che deve tornare a 0 ogni ciclo che incrementa @y . io farei così (spero di non dire ca..ate)

SET @y = 0

WHILE @y <= @assey
BEGIN

SET @x = 0
WHILE @x <= @assex
BEGIN
INSERT INTO Tabella1 VALUES (@y, @x)
SET @x = @x + 1
END

SET @y = @y + 1
END

Linus

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.