Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Miwe

Páginas: [1]
1
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

Páginas: [1]

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".