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