欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL存储过程中游标循环的跳出和继续操作示例

程序员文章站 2024-02-29 10:37:34
最近遇到这样的问题,在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存储过程,需要循环结构有个名称,其他都是一样的.

官方的文档-->