CREATE FUNCTION中的MySQL ERROR 1064

时间:2017-10-29 12:36:31

标签: mysql 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 个答案:

答案 0 :(得分:2)

如果您将ELSE IF更改为ELSEIF,则会有效。它被视为ELSE,然后是未公开的IF子句,没有END IF