-5

“#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 ;

怎么了?

4

2 回答 2

2

看起来您的分隔符首选项设置在错误的位置。尝试以下操作:

DROP FUNCTION IF EXISTS TavoliLiberi;

DELIMITER $

CREATE FUNCTION TavoliLiberi (dataora DATETIME) RETURN BOOL
....
....
于 2013-06-04T17:59:52.000 回答
1

您的分隔符更改试试这个

DELIMITER $

DROP FUNCTION IF EXISTS TavoliLiberi$

保持其余相同

于 2013-06-04T18:00:43.483 回答