MySQL儲存過程中游標迴圈的跳出和繼續操作示例

2022-09-29 17:03:21 字數 1371 閱讀 1735

最近程式設計客棧遇到這樣的問題,在mysql的儲存過程中,游標操作時,需要執行乙個c程式設計客棧onitnue的操作.眾所周知,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 <

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,le**e)

複製** **如下:

declare num  int;

declare str  varchar(255);

set num =1;

set my_string ='';

loop_label:  loop

if  num <10then

le**e  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儲存過程,需要迴圈結構有個名稱,其他都是一樣的程式設計客棧.

官方的文件-->

本文標題: mysql儲存過程中游標迴圈的跳出和繼續操作示例

本文位址:

通過游標在SQL儲存過程中迴圈

今天有個需求要寫乙個儲存過程,需要從乙個表中讀取資料到另外乙個表中,由於是很多行的資料,所以需要迴圈,我琢磨了一下,使用了游標,至於使用游標的好壞,還請大家指點,先建立兩個測試表吧 create table testa id intidentity userchname nvarchar 50 us...

儲存過程中帶游標

create procedure updatetimeproperty surroundingrock nvarchar 200 ifclassname nvarchar 200 prop startstation nvarchar 200 prop endstatoin nvarchar 200 ...

儲存過程中的游標使用

利用儲存過程來消除資料庫中冗餘的資料 create procedure sp mytest as declare pro varchar 50 declare mm int declare wu cursor for select distinct product from mytest open ...