Ver Mensaje Individual
  #10 (permalink)  
Antiguo 02/04/2013, 17:12
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: duda con case en funcion mysql

El PL/SQL no está estandarizado. Lo que se usa en un DBMS (Oracle, por ejemplo), no sirve para los demás. No son portables.

Como te dije, ese modo de escribirlo no sirve en MySQL. Y ya te di un ejemplo de cómo usarla. Por lo visto ni lo miraste.



Yo te sugeriría que la SF la pruebes mas o menos parecida a esto:
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
  6.     IF DAY(fecha)>=DAY(CURDATE()) THEN
  7.         RETURN MONTH(ADDDATE(fecha, INTERVAL 6 MONTH));
  8.     ELSE
  9.         RETURN MONTH(ADDDATE(fecha, INTERVAL 3 MONTH));
  10.     END IF;
  11. END$$
  12.  
  13. DELIMITER ;
Dime qué resultado te da (no tengo tu base para probarla).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)