12 번째 줄에 오류가 있습니다 (endif 문에서). 나는 IF 또는 ELSE 내에서 뭔가 잘못하고 있다고 믿습니다. 아무도 도와 줄 수 있습니까?MySQL 저장 함수의 IF 문이 잘못되었습니다.
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$$
편집 : (대신 만약의 경우와 동일한 기능, 동일한 문제가)
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' 문을 사용할 수 있습니까? – SexyBeast
@Cupidvogel : 가능합니다. http://dev.mysql.com/doc/refman/5.5/en/if.html – gbn
여기에 당신의 요점은 무엇입니까 :'SET var = var;'? –