Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Procedure

Estas en el tema de Procedure en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/04/2007, 20:03
 
Fecha de Ingreso: noviembre-2005
Mensajes: 15
Antigüedad: 18 años, 4 meses
Puntos: 0
Procedure

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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:57.