Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/08/2014, 22:56
andres18281
 
Fecha de Ingreso: febrero-2013
Ubicación: Cali Colombia
Mensajes: 118
Antigüedad: 11 años, 9 meses
Puntos: 0
Busqueda error 1326 en fallos

Cordial Saludo, veo este error Error Code: 1325. Cursor is already open
pero no tengo ningun cursor que no se hallan cerrado. ?

Código SQL:
Ver original
  1. USE almacen3;
  2. DROP PROCEDURE IF EXISTS  devuelve_informe_venta;
  3. DROP TABLE IF EXISTS informe;
  4.  DELIMITER |
  5. CREATE PROCEDURE devuelve_informe_venta(IN fecha_inicio DATE, IN fecha_final DATE)
  6.  
  7. BEGIN    
  8.    DECLARE fecha_factura DATE;
  9.    DECLARE codigo_factura INT DEFAULT 0;
  10.    DECLARE cod_producto INT DEFAULT 0;
  11.    DECLARE costo DOUBLE DEFAULT 0.0;
  12.    DECLARE total_registro INT DEFAULT 0;
  13.    DECLARE acumulador INT DEFAULT 0;
  14.    DECLARE nombre_producto VARCHAR(20);
  15.    DECLARE nit INT DEFAULT 0;
  16.    DECLARE v_control bool DEFAULT FALSE;
  17.  
  18.  
  19.    DECLARE crs_cod_fact CURSOR FOR SELECT fact_cod_fac,fact_fecha FROM Factura
  20.                         WHERE fact_fecha >= fecha_inicio AND fact_fecha <= fecha_final;
  21.    
  22.    DECLARE crs_cod_prod CURSOR FOR SELECT ord_cod_zap,pro_nomb,cal_cost,pro_nit FROM ord_compra oc, Producto p,Calzado c
  23.                       WHERE ord_cod_fact = codigo_factura;
  24.    
  25.  
  26.    
  27.    DECLARE CONTINUE HANDLER FOR NOT FOUND SET  v_control = TRUE;
  28.    CREATE  TABLE informe (num INT(5) AUTO_INCREMENT PRIMARY KEY,fecha DATE,cod_cal INT(10),nomb_cal VARCHAR(20),costo DECIMAL(6,2),nit INT(10))engine=memory;
  29.     OPEN crs_cod_fact;
  30.     crs_cod_fact_loop:loop
  31.         fetch crs_cod_fact INTO codigo_factura,fecha_factura;
  32.           IF v_control THEN
  33.               leave crs_cod_fact_loop;
  34.               close crs_cod_fact;
  35.           END IF;
  36.          
  37.          crs_cod_pro_loop:LOOP -- segundo LOOP donde realiza el la busqueda de nombre de productos, codigo y costo.
  38.             OPEN crs_cod_prod;
  39.             fetch crs_cod_prod INTO cod_producto, nombre_producto,costo,nit;
  40.             INSERT INTO informe VALUES('',fecha_factura,cod_producto,nombre_producto,costo,nit);
  41.             IF v_control THEN  
  42.                 close crs_cod_prod;
  43.                 leave crs_cod_pro_loop;
  44.             END IF;
  45.  
  46.          END LOOP crs_cod_pro_loop;
  47.     END LOOP crs_cod_fact_loop;
  48.    
  49.  
  50.    -- DROP Table if exists informe;
  51.  END;
  52. | delimiter ;
  53.   CALL devuelve_informe_venta(20140105,20140105);