Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Razzari en 15 Noviembre 2016, 20:20 pm



Título: tengo una duda con una consulta en sql server
Publicado por: Razzari en 15 Noviembre 2016, 20:20 pm
Código:
	WHILE @@FETCH_STATUS=0
BEGIN
INSERT INTO Temporal_Ventas values (@ID_EMPLEADO, @NOMBRE_EMPLEADO, @MES_ANTERIOR,0,0.00)
FETCH NEXT FROM MI_CURSOR INTO @ID_EMPLEADO, @NOMBRE_EMPLEADO, @MES_ANTERIOR

END

UPDATE Temporal_Ventas SET proyeccion_actual= ((total_mes_anterior * @dPorcentajeCrecimiento) / 100) + total_mes_anterior



/*IF  proyeccion_actual > 5000
UPDATE Temporal_Ventas SET comision = ((proyeccion_actual * @dPorcentajeComision) / 100)
ELSE
UPDATE Temporal_Ventas SET comision = 0 */

Mi duda es la siguiente, voy recorriende una tabla temporal donde voy asignandole los valores  @ID_EMPLEADO, @NOMBRE_EMPLEADO, @MES_ANTERIOR que traigo de un cursor y tambien 0 (columna "proyeccion"), y otro campo 0.00 (columna "comision")
Despues asigno valores al campo "proyeccion" con un calculo que realizo con una parametro que traigo de antes.
ahora quiero preguntar si la proyeccion es > 5000 hacer tal cosal, sino else otra cosa.
Me esta subrayando como error la parte del if, alguien sabe decirme donde esta el error.
Desde ya Gracias y saludos a quien este leyendo ! :D :D :D


Título: Re: tengo una duda con una consulta en sql server
Publicado por: fran800m en 15 Noviembre 2016, 22:15 pm
https://msdn.microsoft.com/es-es/library/ms182717.aspx

Tu sintaxis de if parece incorrecta y proyeccion_actual es un campo, no una variable.
Calcula en una variable el valor, asignalo primero al update y luego utilizalo en el if.

Un saludo,


Título: Re: tengo una duda con una consulta en sql server
Publicado por: Razzari en 16 Noviembre 2016, 03:26 am
https://msdn.microsoft.com/es-es/library/ms182717.aspx

Tu sintaxis de if parece incorrecta y proyeccion_actual es un campo, no una variable.
Calcula en una variable el valor, asignalo primero al update y luego utilizalo en el if.

Un saludo,
Gracias fran, ya lo soluciones, probe asi como me dijiste, le asigne al valor a una variable y compare, gracias saludos !!!  :D :D :D ;D ;D ;-) ;-)