MySQL存储过程中游标循环的跳出和继续操作示例
程序员文章站
2024-03-01 17:53:10
最近遇到这样的问题,在mysql的存储过程中,游标操作时,需要执行一个conitnue的操作.众所周知,mysql中的游标循环操作常用的有三种,loop,repeat,wh...
最近遇到这样的问题,在mysql的存储过程中,游标操作时,需要执行一个conitnue的操作.众所周知,mysql中的游标循环操作常用的有三种,loop,repeat,while.三种循环,方式大同小异.以前从没用过,所以记下来,方便以后查阅.
1.repeat
复制代码 代码如下:
repeat
statements;
until expression
end repeat
demo
declare num int;
declare my_string varchar(255);
repeat
set my_string =concat(my_string,num,',');
set num = num +1;
until num <5
end repeat;
2.while
复制代码 代码如下:
while expression do
statements;
end while
demo
declare num int;
declare my_string varchar(255);
set num =1;
set str ='';
while num < span>10do
set my_string =concat(my_string,num,',');
set num = num +1;
end while;
3.loop(这里面有非常重要的iterate,leave)
复制代码 代码如下:
declare num int;
declare str varchar(255);
set num =1;
set my_string ='';
loop_label: loop
if num <10then
leave loop_label;
endif;
set num = num +1;
if(num mod3)then
iterate loop_label;
else
set my_string =concat(my_string,num,',');
endif;
end loop;
ps:可以这样理解iterate就是我们程序中常用的contiune,而iterate就是break.当然在mysql存储过程,需要循环结构有个名称,其他都是一样的.
官方的文档-->