Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/01/2012, 07:51
delgaillo
 
Fecha de Ingreso: abril-2010
Mensajes: 50
Antigüedad: 14 años, 1 mes
Puntos: 2
Duda con condicional

Este es el mensaje:

Hola muy buenas, tengo una duda final con el procedimiento almacenado, necesito que se compruebe si al día siguiente es festivo. Para comprobarlo utilizo o quiero utilizar las sentencias:

SELECT (((@@datefirst-1) + datepart(weekday, GETDATE()) + 1 )) % 7) AS NUMERO_DIA_SEMANA) = 6

SELECT (((@@datefirst-1) + datepart(weekday, GETDATE()) + 1 )) % 7) AS NUMERO_DIA_SEMANA) = 0 -> estas dos sentencias me dicen si es sábado o domingo.

Para el resto de festivos utilizo una tabla, en la tabla, hay campos de día y de mes, el mes viene como cadena, entonces utilizo una función que me saca el número del mes -> SELECT FROM fabFestivosAnuales
WHERE mes = OrdinalMes(DATEPART(month, CAST((GETDATE()) + 1 AS INT)))
and dia = CAST(day(GETDATE()) + 1 AS INT)


Mi problema reside en que tengo que crear un bucle que englobe esas 3 condiciones, son dos OR, while condición1 =true or condición2 = true OR
condición3 tiene registros then

enviar correo.

Cuando se haya enviado todos los correos para ese día, se tiene que comprobar el siguiente día. Es decir, necesito que la condición en lugar de tener un getdate() + 1, tenga una variable que tenga el valor del getdate() + 1, pero que se incremente cada vez que se haga el envío de correos. El bucle debe parar cuando
no se cumpla ninguna de las tres condiciones, es decir,

mañana es festivo? sí, envío correos,
pasado es festivo? envío correos,
dentro de dos días es festivo? No, no se envía nada.

Por favor alguien puede ayudarme para crear ese bucle, o algún ejemplo parecido? Muchas gracias de antemano por cualquier ayuda.

Fin mensaje