SQL Server - Uso de sentencia IF en bucle WHILE -SQL Server

 
Vista:
sin imagen de perfil

Uso de sentencia IF en bucle WHILE -SQL Server

Publicado por Andres (1 intervención) el 20/07/2017 22:39:50
Hola buen día! Tengo el siguiente código
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
WHILE (@SumaYardas <= @consumoTelaTotal)
	BEGIN
	--WITH
	SELECT @SumaYardas = @SumaYardas + SALDO_YD FROM #TBL WHERE Fila = @Idfila;
	SELECT @NOROLLO = NO_ROLLO from #TBL where Fila = @Idfila; 
	UPDATE TBL_INV_TELA SET PROGRAMADO = 1 where NO_ROLLO = @NOROLLO;
	UPDATE TBL_INV_TELA SET SALDO_YD = 0.00 WHERE NO_ROLLO = @NOROLLO;
	IF (@SumaYardas >= @consumoTelaTotal)
		BEGIN
			SELECT @RESTA1 = @SumaYardas - SALDO_YD FROM #TBL WHERE Fila = @Idfila-1;
			SELECT @RESTA2 = @consumoTelaTotal - @RESTA1;
			SELECT @RESTA3 = SALDO_YD FROM #TBL WHERE Fila = @Idfila - @RESTA2;
			UPDATE TBL_INV_TELA SET SALDO_YD = @RESTA3 WHERE NO_ROLLO = @NOROLLO;
		END
	SET @Idfila = @Idfila + 1;
	END

El problema está que no entra a la condicional y no ejecuta las líneas de código que hay dentro del IF.
¿Alguien sabe que puede andar mal?

Agradezco de antemano sus respuestas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo
Val: 268
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Uso de sentencia IF en bucle WHILE -SQL Server

Publicado por Wilfredo Patricio Castillo (189 intervenciones) el 21/07/2017 17:59:39
Si tu while se ejecuta mientras sumayardas sea menor que consumotelatotal

Cuándo crees que se cumplirá la condicion del IF?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Uso de sentencia IF en bucle WHILE -SQL Server

Publicado por Isaias (4557 intervenciones) el 21/07/2017 20:32:01
Otra observacion ANDRES, ya habias posteado esta misma pregunta con el titulo "SQL - USAR SENTENCIA IF PARA SUMAR FILAS DE UNA MISMA COLUMNA EN SQL"

Se te sugirio que hicieras un cursor, veo que tenias duda que hace la instruccion FETCH, era muy simple ir a google y buscar CURSOR en SQL Server y sabrias que FETCH simplemente recorre el apuntador al siguiente registro del cursor.

¿No te sirvio la solucion que te dieron? o entiendo que quieres solucionarlo de otra forma....

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar