-5

「#1064 - SQL 構文にエラーがあります。3 行目の 'CREATE FUNCTION TavoliLiberi (dataora DATETIME) RETURN BOOL BEGIN DECLARE prese' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください」関数:

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 に答える