我无法调试CREATE FUNCTION
的代码。它给出以下错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 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
最佳答案
如果将ELSE IF
更改为ELSEIF
,它将起作用。它被视为ELSE
,然后是未封闭的IF
子句,没有END IF
。
关于创建函数时出现 MySQL 错误 1064,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47000254/