Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2014, 13:02
Avatar de calichecal
calichecal
 
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 15 años, 5 meses
Puntos: 12
Busqueda Proble con puntero en evento mysql

Hola a todos, un cordial saludo. Tengo un pequeño inconveniente con un evento que hice en mysql para ejecutar una comprobación cada 24 horas. Yo utilizo un puntero para recorrer los registros de una tabla pero a pesar de que hay de hay registros no encuentra ninguno, el log de mysql me arroja esto:

Código:
[ERROR] Event Scheduler: [root@localhost][bavaria.e_vencimientos_prueba] No data - zero rows fetched, selected, or processed

El evento lo coloque para que se ejecute a intervalos de un minuto para poder hacer las pruebas:

Código MySQL:
Ver original
  1. DELIMITER $$
  2. create event e_vencimientos_prueba on SCHEDULE EVERY 1 MINUTE STARTS CURRENT_TIMESTAMP + INTERVAL 1 MINUTE
  3.  
  4. DECLARE vb_termina BOOL DEFAULT FALSE;
  5. DECLARE idactual int(11);
  6. DECLARE tienevencimiento TINYINT(1);
  7. DECLARE fechavencimiento DATE;
  8. DECLARE puntero CURSOR FOR SELECT id, tieneVencimiento, fechaVencimiento FROM documentosPorEmpleado;
  9. DECLARE CONTINUE HANDLER
  10.      FOR SQLSTATE '02000'
  11.      SET vb_termina = TRUE;
  12.  
  13. OPEN puntero;
  14.    Recorre_Cursor: LOOP
  15.  
  16.         FETCH puntero INTO idactual,tienevencimiento,fechavencimiento;
  17.  
  18.         IF vb_termina THEN
  19.             LEAVE Recorre_Cursor;
  20.         END IF;
  21.  
  22.     IF  tienevencimiento = 1 THEN    
  23.           IF  DATEDIFF(fechavencimiento,CURRENT_TIMESTAMP()) < 0 THEN
  24.              UPDATE  documentosPorEmpleado SET soporteDocumento=NULL, formatoSoporteDocumento=NULL WHERE id = idactual;
  25.           END IF;
  26.     END IF;
  27.  
  28.     END LOOP;
  29.   CLOSE puntero;
  30.  
  31. $$
  32. DELIMITER ;


Alguna idea? Es que ya he probado muchas cosas. El evento lo creé como root, la tabla tiene registros y la sintaxis esta bien, los campos que se actualizan dentro de la condición admiten null...., ¿Hay acaso alguna restricción que no conozca?
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-

Última edición por gnzsoloyo; 12/09/2014 a las 14:16 Razón: MUY MAL ETIQUETADO. MySQL no es PHP