Anidar bulces WHILE

24/08/2004 - 11:19 por SRENAU | Informe spam
Hola,

¿Por que no funciona algo tan sencillo como esto?:

DECLARE @contador int
DECLARE @periodos int
set @contador=0
set @periodos=0
while (@periodos <3)
begin

while (@contador<5)
begin

PRINT @contador
print @periodos
set @contador=@contador+1
end
set @periodos=@periodos+1
end


¿No se pueden anidar bucles While?

Gracias

Preguntas similare

Leer las respuestas

#1 Salvador Ramos
24/08/2004 - 11:54 | Informe spam
Hola, claro que se pueden anidar, y tu código funciona perfectamente.
El problema que puedes tener para que aparentemente no funcione es que no
inicializas la variable @contador del bucle interno, por lo que en las
siguientes iteraciones no hace nada. Prueba esto:

DECLARE @contador int
DECLARE @periodos int
set @contador=0
set @periodos=0
while (@periodos <3) begin
while (@contador<5) begin
PRINT @contador
print @periodos
set @contador=@contador+1
end
set @periodos=@periodos+1
set @contador=0

end



Un saludo
Salvador Ramos
Murcia - España
[MVP SQL Server]
www.helpdna.net

"SRENAU" escribió en el mensaje
news:c2aa01c489bb$7ded9b70$
Hola,

¿Por que no funciona algo tan sencillo como esto?:

DECLARE @contador int
DECLARE @periodos int
set @contador=0
set @periodos=0
while (@periodos <3)
begin

while (@contador<5)
begin

PRINT @contador
print @periodos
set @contador=@contador+1
end
set @periodos=@periodos+1
end


¿No se pueden anidar bucles While?

Gracias
Respuesta Responder a este mensaje
#2 SRENAU
24/08/2004 - 12:21 | Informe spam
Hola, estaba loco.

Hay veces que te ofuscas tanto que es mposible ver las
cosas mas sencillas.

Muchas Gracias.

Hola, claro que se pueden anidar, y tu código funciona


perfectamente.
El problema que puedes tener para que aparentemente no


funcione es que no
inicializas la variable @contador del bucle interno, por


lo que en las
siguientes iteraciones no hace nada. Prueba esto:

DECLARE @contador int
DECLARE @periodos int
set @contador=0
set @periodos=0
while (@periodos <3) begin
while (@contador<5) begin
PRINT @contador
print @periodos
set @contador=@contador+1
end
set @periodos=@periodos+1
set @contador=0
-
end



Un saludo
Salvador Ramos
Murcia - España
[MVP SQL Server]
www.helpdna.net

"SRENAU" escribió


en el mensaje
news:c2aa01c489bb$7ded9b70$
Hola,

¿Por que no funciona algo tan sencillo como esto?:

DECLARE @contador int
DECLARE @periodos int
set @contador=0
set @periodos=0
while (@periodos <3)
begin

while (@contador<5)
begin

PRINT @contador
print @periodos
set @contador=@contador+1
end
set @periodos=@periodos+1
end


¿No se pueden anidar bucles While?

Gracias


.

Respuesta Responder a este mensaje
#3 Salvador Ramos
24/08/2004 - 12:48 | Informe spam
jeje, a todos nos han pasado cosas similares :-)

Un saludo
Salvador Ramos
Murcia - España
[MVP SQL Server]
www.helpdna.net

"SRENAU" escribió en el mensaje
news:be2b01c489c4$29515d50$
Hola, estaba loco.

Hay veces que te ofuscas tanto que es mposible ver las
cosas mas sencillas.

Muchas Gracias.

Hola, claro que se pueden anidar, y tu código funciona


perfectamente.
El problema que puedes tener para que aparentemente no


funcione es que no
inicializas la variable @contador del bucle interno, por


lo que en las
siguientes iteraciones no hace nada. Prueba esto:

DECLARE @contador int
DECLARE @periodos int
set @contador=0
set @periodos=0
while (@periodos <3) begin
while (@contador<5) begin
PRINT @contador
print @periodos
set @contador=@contador+1
end
set @periodos=@periodos+1
set @contador=0
-
end



Un saludo
Salvador Ramos
Murcia - España
[MVP SQL Server]
www.helpdna.net

"SRENAU" escribió


en el mensaje
news:c2aa01c489bb$7ded9b70$
Hola,

¿Por que no funciona algo tan sencillo como esto?:

DECLARE @contador int
DECLARE @periodos int
set @contador=0
set @periodos=0
while (@periodos <3)
begin

while (@contador<5)
begin

PRINT @contador
print @periodos
set @contador=@contador+1
end
set @periodos=@periodos+1
end


¿No se pueden anidar bucles While?

Gracias


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida