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,

Другие вопросы по тегам