Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/08/2010, 18:48
Myless
 
Fecha de Ingreso: enero-2010
Mensajes: 88
Antigüedad: 14 años, 10 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 CHARRETURNS INT
BEGIN
    
DECLARE fecha_actual DATE;
    DECLARE 
promedioStock INT;
    DECLARE 
stockActual INT;
    DECLARE 
retorno INT;

    
SELECT CURDATE() INTO fecha_actual;

    
SELECT AVG(STOCK_MOMENTOINTO 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 1064SQL state 42000You have an error in your SQL syntaxcheck 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