Autor Tema: CURSOR EN Workbench (no me funciona)  (Leído 77 veces)

Miwe

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
CURSOR EN Workbench (no me funciona)
« en: 30 de Marzo 2021, 14:34 »
Hola amigos, estoy intentando hacer una tarea pero no logro que me funcione el cursor que declaro... A ver si hay algún alma caritativa que me pueda ayudar.
El enunciado es el siguiente:
Crea una función que reciba como parámetro de entrada el número correspondiente a un mes y devuelva el importe total facturado ese mes. Utiliza para ello las dos funciones obtenidas en la práctica anterior. NOTAS:
• Por ejemplo, para Enero, número del mes 1.
• Utilizar un cursor para recorrer cada fila de la consulta de los IdReparacion que se obtengan en ese mes.
• Controla mediante un HANDLER que la consulta haya devuelto alguna fila.

DROP FUNCTION IF EXISTS Ejercicio7;
DELIMITER //
CREATE FUNCTION Ejercicio7(Mes INT)
RETURNS DEC(6,2)
DETERMINISTIC
BEGIN
   DECLARE MasId INT DEFAULT 1;
    DECLARE total DEC(6,2);
    DECLARE suma INT;
   
    DECLARE Fact_Mes CURSOR FOR
    SELECT IdReparacion FROM reparaciones WHERE MONTH(FechaSalida)=Mes;
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET MasId = 0;
    SET total=0;
    OPEN Fact_Mes;
      FETCH Fact_Mes INTO suma;
         WHILE MasId=1 DO
            SET total = total + Ejercicio6A(Mes) + Ejercicio6B(Mes);
                FETCH Fact_Mes INTO suma;
            END WHILE;
   CLOSE Fact_Mes;
   RETURN total;
END //
DELIMITER ;

SELECT Ejercicio7('1');

Si ejecuto las funciones por separado me da un resultado y cuando lo hago en el cursor me da otro.... ¿Dónde esta el error?
Gracias

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".