Estoy intentando que recoja la informacion de un día específico o sino el anterior. El día es un SMALLINT(3). El problema que tengo es que no sé cómo hacer que en el bucle, que funciona, compruebe si es el mismo día que el que le paso con la variable
ds y si no lo es que busque el más cercano.
Me he quedado atascado aquí:
Código:
CREATE PROCEDURE simpleproc (xs SMALLINT(3), ds SMALLINT(3), OUT A TINYTEXT, OUT IJ MEDIUMINT(5))
BEGIN
DECLARE echa SMALLINT(3);
DECLARE done BOOL DEFAULT FALSE;
DECLARE cur1
CURSOR FOR
SELECT Dia FROM fechas WHERE x=xs;
DECLARE
CONTINUE HANDLER FOR
SQLSTATE '02000'
SET done = TRUE;
OPEN cur1;
myLoop: LOOP
FETCH cur1 INTO echa;
IF done THEN
CLOSE cur1;
LEAVE myLoop;
END IF;
IF echa THEN
SELECT Dato1,Dato2 INTO A,IJ FROM fechas WHERE x=xs AND Dia=echa;
END IF;
END LOOP;
END//
Gracias anticipadas. Espero que podáis ayudarme.