我写了一个如下的函数。此函数的目的是通过某个分支中的某个特定考试返回学生的位置。
DELIMITER $$
CREATE FUNCTION `getMerit`( branch VARCHAR(50), totalMark DECIMAL(19,2), comaSeparetedExamIds VARCHAR(200) ) RETURNS INT(11)
BEGIN
SET @comaSeparetedExamIds=comaSeparetedExamIds;
SET @branch =branch;
SET @marks=totalMark;
SELECT @place=COUNT(*)+1
FROM (
SELECT SUM(m.marks) marks
FROM marksheet m, studentinfo s
WHERE exam_id IN (@comaSeparetedExamIds)
AND m.student_roll=s.roll_no
AND s.branch LIKE CONCAT(@branch,'%')
GROUP BY m.student_roll
) AS a
WHERE a.marks>@totalMark;
RETURN @place;
END$$
DELIMITER ;
但它向我显示了一个错误。错误是
查询:CREATE FUNCTION
getMerit
(分支varchar(50),totalMark DECIMAL(19,2),comaSeparetedExamIds varchar(200))返回int(11)BEG ...错误代码:1415不允许从函数返回结果集
我在这里犯了什么错误,有人可以帮助我吗?