Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/03/2014, 17:51
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: pasar array y crear cursor

Finalmente creo que por un lado estás complicando innecesariamente lo que intentas hacer, por otro, tu script tiene demasiados errores como para poder detallártelos todos, muestra un gran desconocimiento del uso de variables, sintaxis propietaria de MySQL, defectos de lógica y de uso de controladores de flujo.
Finalmente, creo que deberías empezar por intentar esto de un modo más simple, ya que el uso de cursores en MySQL es recomendable sólo como recurso absolutamente necesario, y no parece ser el caso.
Yo empezaría con algo simple, como esto:
Código MySQL:
Ver original
  1. delimiter $$
  2. CREATE PROCEDURE proced(IN currentValue VARCHAR(200) )
  3.     SELECT
  4.         contrato_id,
  5.         SUM(IF(YEAR(`fecha_cierre`) = 2013, 1, 0)) ano_an,
  6.         SUM(IF(YEAR(`fecha_cierre`) = 2014, 1, 0)) ano_ac,
  7.         SUM(IF(YEAR(`fecha_cierre`) = 2014 AND MONTH(`fecha_cierre`) = 1, 1, 0)) enero
  8.     FROM `080_acciones`
  9.     WHERE FIND_IN_SET(contrato_id, currentValue )
  10.     GROUP BY contrato_id;
  11.  END$$
  12. delimiter ;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)