【发布时间】:2012-09-17 21:27:12
【问题描述】:
我在第 12 行(在 endif 语句处)收到一个错误。 我认为我在 IF 或 ELSE 中做错了什么,有人可以帮助我吗?
DELIMITER $$
CREATE FUNCTION TEST (`param` INT)
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE `var` INT;
SET `var` = 1;
IF `param` > 0 THEN
SET `var` = `var` + `param`;
END IF;
RETURN `var`;
END$$
编辑:(相同的功能与 case 而不是 if,同样的问题)
DELIMITER $$
CREATE FUNCTION TEST (`param` INT)
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE `var` INT;
SET `var` = 1;
SET `var` =
CASE
WHEN `param` > 0 THEN `var` + `param` ELSE `var`
END ;
RETURN `var`;
END$$
【问题讨论】:
-
你能在
if-else条件中使用set语句吗? -
@Cupidvogel:是的,你可以。 dev.mysql.com/doc/refman/5.5/en/if.html
-
你的意思是什么:
SET var = var;?
标签: mysql sql stored-functions