MySQL ERROR 1064 в CREATE FUNCTION
Я не могу отладить код для CREATE FUNCTION
, Это дает следующую ошибку:
ОШИБКА 1064 (42000): у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '' в строке 16
Это код.
DELIMITER $$
CREATE FUNCTION CHECK_STATUS(SAL FLOAT) RETURNS VARCHAR(10)
DETERMINISTIC
BEGIN
DECLARE STATUS VARCHAR(10);
SET STATUS = "";
IF (SAL > 70000) THEN
SET STATUS = "A CLASS";
ELSEIF (SAL > 50000) THEN
SET STATUS = "B CLASS";
ELSE IF (SAL > 30000) THEN
SET STATUS = "C CLASS";
ELSE
SET STATUS = "D CLASS";
END IF;
RETURN STATUS; # This is line 16
END;
$$
PS: я видел другой вопрос с таким же названием, но они были о DELIMITER
поэтому они не помогли. Моя версия MySQL 5.7.19
1 ответ
Решение
Это будет работать, если вы измените ELSE IF
в ELSEIF
, Это рассматривается как ELSE
а затем не закрыто IF
оговорка, без END IF
,