Code: 1415. Not allowed to return a result set from a functions
Прилагаю (в сокращении) проблемный код функции
DELIMITER //
CREATE FUNCTION chapter_en (
some_year INT
) RETURNS VARCHAR(30) COMMENT 'Returnes the current chapter' DETERMINISTIC NO SQL SQL SECURITY DEFINER
BEGIN
DECLARE ret VARCHAR(25);
-- ...
SET @ret = '';
SELECT name_en
INTO @ret
FROM
chapters spr WHERE spr.id=@curr_ch
AND spr.year=some_year;
RETURN @ret;
END//
DELIMITER ;
Я пробовал передавать в RETURN напрямую SELECT, без переменной.
Пробовал писать без INTO:
SELECT @ret = name_en FROM ...
Пробовал ставить INTO в начале, попробовал ставить в конце.
Нынешний вариант - по совету, который нашёл на stackoverflow.
Как правильно решить это затруднение?
Спасибо.
Похоже ваш запрос возвращает несколько строк
Обсуждают сегодня