CREATE FUNCTION salarystatus(employee_id integer) RETURNS VARCHAR(25)
DETERMINISTIC
BEGIN
DECLARE isalary DECIMAL(8,2);
DECLARE istatus varchar(25);
SELECT salary INTO isalary
FROM employees
WHERE employee_id = salarystatus.employee_id;
IF (isalary < 50000) then
SET istatus = 'low income';
ELSEIF (50000 <= isalary < 80000) then
SET istatus = 'medium income';
ELSE
SET istatus = 'high income';
ENDIF
RETURN istatus
END
返回此错误:
1064-您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册,以在'RETURN istatus附近使用正确的语法
在第20行结束
此查询看起来正确,这里的语法错误是什么?
最佳答案
问题是我写了ENDIF而不是“ END IF”
最后还要添加此内容。
$$
定界符;
关于mysql - SQL存储函数问题,返回错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55834775/