Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/04/2013, 13:09
Avatar de jolie_girl
jolie_girl
 
Fecha de Ingreso: agosto-2008
Ubicación: mexico
Mensajes: 346
Antigüedad: 15 años, 8 meses
Puntos: 10
Pregunta duda con case en funcion mysql

Tengo el siguiente codigo, y al ejectuarla me dice que

Error Code : 1339
Case not found for CASE statement
(0 ms taken)

Pero si hay

Código MySQL:
Ver original
  1. DELIMITER $$
  2.  
  3. DROP FUNCTION IF EXISTS `basededatis`.`prueba2`$$
  4.  
  5. CREATE DEFINER=`root`@`localhost` FUNCTION `prueba2`(fecha date, actual date) RETURNS int(2)
  6.    
  7.  declare trimestreactual int(1);
  8.  declare mesfecha int(2);
  9.  declare messig int(2);
  10.  
  11.     set trimestreactual = quarter(actual);
  12.     set mesfecha = month(fecha);
  13.  
  14.  
  15.  
  16. case mesfecha
  17.  
  18.   case trimestreactual
  19.        when 1 then set messig = 4;
  20.        when 2 then set messig = 7;
  21.        when 3 then set messig = 10;
  22.        when 4 then set messig = 1;
  23.    end case;
  24.  
  25.  
  26.   case trimestreactual
  27.        when 1 then set messig = 5;
  28.        when 2 then set messig = 8;
  29.        when 3 then set messig = 11;
  30.        when 4 then set messig = 2;
  31.     end case;
  32.  
  33.  case trimestreactual
  34.        when 1 then set messig = 6;
  35.        when 2 then set messig = 9;
  36.        when 3 then set messig = 12;
  37.        when 4 then set messig = 3;
  38.  
  39.    end case;
  40.  
  41.  case trimestreactual
  42.        when 1 then set messig = 1;
  43.        when 2 then set messig = 4;
  44.        when 3 then set messig = 7;
  45.        when 4 then set messig = 10;
  46.  
  47.    end case;
  48.  
  49.  
  50.  
  51. return messig;
  52. END$$
  53.  
  54. DELIMITER ;
__________________
Solicito colaboradoras para proyecto social media largo plazo. Manda mp

Última edición por gnzsoloyo; 02/04/2013 a las 16:13 Razón: SQL mal etiquetado.