Я получаю сообщение об ошибке в строке 12 (в инструкции endif). Я верю, что я что-то делаю неправильно в рамках IF или ELSE, может ли кто-нибудь мне помочь?Оператор IF в хранимой функции MySQL ошибочен
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$$
EDIT: (та же функция случае вместо если та же проблема)
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$$
Можете ли вы использовать выражения 'set' внутри' if-else' условные? – SexyBeast
@ Купидогель: да, вы можете. http://dev.mysql.com/doc/refman/5.5/en/if.html – gbn
Что вы здесь делаете: 'SET var = var;'? –