为什么"不允许从函数返回结果集"?

时间:2017-05-28 23:01:11

标签: mysql stored-functions

为什么当我创建函数时,我得到ERROR 1415 (0A000): Not allowed to return a result set from a function

这是我的查询

delimiter //
create function tes_while()
returns int
begin
declare v = int;
set v = 0;
while v < 3 do
select v;
set v = v + 1;
end while;
return v;
end //

为什么会这样?

1 个答案:

答案 0 :(得分:0)

函数通常应用于结果集的每一行。因此,它不能为一行返回多行。为了确保这一点,您只能使用return命令从函数返回值,而不是在您的情况下使用select。删除select v;,然后就可以了。