“#1064 - 您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在第3行的'CREATE FUNCTION TavoliLiberi(dataora DATETIME)RETURN BOOL BEGIN DECLARE prese'附近使用正确的语法“在这个功能中:
DELIMITER $
DROP FUNCTION IF EXISTS TavoliLiberi;
CREATE FUNCTION TavoliLiberi (dataora DATETIME) RETURN BOOL
BEGIN
DECLARE presenti BOOL;
DECLARE numPrenotazioni INT;
DECLARE numTavoli INT;
SELECT COUNT(*) INTO numPrenotazioni
FROM Prenotazioni
WHERE DataOra = dataora;
SELECT COUNT(*) INTO numTavoli
FROM Tavoli;
IF (numPrenotazioni < numTavoli) THEN
SET presenti = TRUE;
ELSE
SET presenti = FALSE;
END IF;
RETURN presenti;
END $
DELIMITER ;
怎么了?
答案 0 :(得分:2)
看起来您的分隔符首选项设置在错误的位置。请尝试以下方法:
DROP FUNCTION IF EXISTS TavoliLiberi;
DELIMITER $
CREATE FUNCTION TavoliLiberi (dataora DATETIME) RETURN BOOL
....
....
答案 1 :(得分:1)
您的分隔符更改尝试此操作
DELIMITER $
DROP FUNCTION IF EXISTS TavoliLiberi$
保持其余部分相同