【发布时间】:2019-04-24 16:34:23
【问题描述】:
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 服务器版本相对应的手册,了解在“返回状态”附近使用的正确语法
END' 在第 20 行
这个查询看起来是正确的,这里的语法错误是什么?
【问题讨论】:
-
尝试输入
delimiter statement before the theCREATE`。 . .DELIMITER $$. -
如果不是endif则结束,每条语句都需要终止
标签: mysql sql database sql-function