Procedure execution failed 1321 – FUNCTION 函数名 ended without RETURN

内容纲要

今天在写mysql函数时,突然发现了这个错误:

Procedure execution failed
1321 – FUNCTION getuser_money_maxdrawdown ended without RETURN

后来经过一步步的排查发现是游标惹的麻烦,我们在定义游标时都喜欢这样写:

declare cur cursor for selec * from table;

declare exit handler for not found set stp=1;

不知道大家是否发现了其中的错误,mysql中函数要求必须以return结束,而我们定义了exit就是说在游标循环完后就直接退出来了,所以会报这个错.解决方法把exit改成continue;

注意:

如果用continue的话循环到最后会把最后一个游标多循环一次!!!!

发表评论

邮箱地址不会被公开。 必填项已用*标注

10 ÷ 1 =