Я пытаюсь получить условное изменение параметра для оператора update. Я получаю следующее сообщение об ошибке при попытке следующей функцииОшибка Mysql: не разрешено возвращать результирующий набор из функции
/home/y/bin/mysql -u root <testpri.sql> out
ERROR 1415 (0A000) at line 4: Not allowed to return a result set from a function
Содержания testpri.sql следующим образом:
use `zestdb`;
DROP FUNCTION IF EXISTS UPDATEPASSWD;
DELIMITER //
CREATE FUNCTION UPDATEPASSWD(n INT) RETURNS varchar(255) DETERMINISTIC
BEGIN
DECLARE mypasswd varchar(255);
IF (n = 1) THEN
SET mypasswd = '12ccc1e5c3c9203af7752f937fca4ea6263f07a5';
SELECT 'n is 1' AS ' ';
ELSE
SET mypasswd = '1a7bc371cc108075cf8115918547c3019bf97e5d';
SELECT 'n is 0' AS ' ';
END IF;>
SELECT CONCAT('mypasswd is ', mypasswd) AS ' ';
RETURN mypasswd;
END //
DELIMITER ;
CALL UPDATEPASSWD(0);
Что мне не хватает?