0

我无法调试CREATE FUNCTION. 它给出了以下错误:

ERROR 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

4

1 回答 1

2

如果您更改ELSE IFELSEIF. 它被视为ELSE然后是未封闭的IF子句,没有END IF.

于 2017-10-29T12:58:14.663 回答