MySQL存儲過程中游標循環(huán)的跳出和繼續(xù)操作示例

字號:


    最近遇到這樣的問題,在MySQL的存儲過程中,游標操作時,需要執(zhí)行一個conitnue的操作.眾所周知,MySQL中的游標循環(huán)操作常用的有三種,LOOP,REPEAT,WHILE.三種循環(huán),方式大同小異.以前從沒用過,所以記下來,方便以后查閱.
    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存儲過程,需要循環(huán)結構有個名稱,其他都是一樣的.