我无法调试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
答案 0 :(得分:2)
如果您将ELSE IF
更改为ELSEIF
,则会有效。它被视为ELSE
,然后是未公开的IF
子句,没有END IF
。