2017-05-28 115 views
0

为什么当我创建功能,我得到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 // 

为什么会这样呢?

回答

0

甲函数通常被施加在一个结果集的每一行。因此它不能为一行返回多行。为了保证这一点,你只能使用return命令从函数返回一个值,而不是在你的情况下使用select。删除select v;,然后它将工作。

相关问题