Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/08/2010, 18:48
Myless
 
Fecha de Ingreso: enero-2010
Mensajes: 88
Antigüedad: 16 años, 8 meses
Puntos: 2
Ayuda con una Funcion

Hola!

He estado tratando de hacer una funcion en MYSQL y me ha costado bastante... Hasta ahora solo manejaba pl/sql y el cambio me confundio un poco.

Lo que he hecho es esto:

Código PHP:
DELIMITER//
DROP FUNCTION IF EXISTS sugerido
CREATE 
FUNCTION sugerido(codigoR CHAR) RETURNS INT
BEGIN
    
DECLARE fecha_actual DATE;
    DECLARE 
promedioStock INT;
    DECLARE 
stockActual INT;
    DECLARE 
retorno INT;

    
SELECT CURDATE() INTO fecha_actual;

    
SELECT AVG(STOCK_MOMENTO) INTO promedioStock
    FROM REPUESTO_HISTORICO
    WHERE CODIGO 
= codigoR;

    
SELECT STOCK INTO stockActual
    FROM REPUESTO
    WHERE CODIGO 
= codigoR;

    IF 
promedioStock > stockActual THEN
        SET retorno 
= promedioStock - stockActual;
            RETURN 
retorno;
    ELSE
        RETURN 
0;
    
END IF;
END//
DELIMITER; 
Y me manda este error:

Código PHP:
Error code 1064, SQL state 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE FUNCTION sugerido(codigoR CHAR) RETURNS INT
BEGIN
    DECLARE fecha_actua' 
at line 2
Line 2
, column 1 
No se por que será, si le quito la linea:
Código PHP:
DROP FUNCTION IF EXISTS sugerido 
El error dice que la funcion ya existe.

Pero si intento borrar la funcion asi:

Código PHP:
DROP FUNCTION sugerido 
Dice que la funcion no existe... como que me he confundido un poco . Ayuda por favor