A-A+

MySQL存储过程游标操作的跳出与继续

2017年10月24日 PHP技术文章 暂无评论 阅读 0 views 次

本文章来给大家介绍关于MySQL存储过程游标操作的跳出与继续过程中碰到的一些问题,下面与大家一起来起看解决此问题办法.

最近遇到这样的问题,在MySQL的存储过程中,游标操作时,需要执行一个conitnue的操作.众所周知,MySQL中的游标循环操作常用的有三种,LOOP,REPEAT,WHILE.三种循环,方式大同小异.以前从没用过,所以记下来,方便以后查阅.

1.REPEAT,代码如下:

  1. REPEAT   
  2.     Statements;   
  3.   UNTIL expression   
  4. END REPEAT   
  5. demo   
  6. DECLARE num INT;   
  7. DECLARE my_string  VARCHAR(255);   
  8. REPEAT   
  9. SET  my_string =CONCAT(my_string,num,',');   
  10. SET  num = num +1;   
  11.   UNTIL num <5   
  12. END REPEAT;2.WHILE    
  13.    
  14. WHILE expression DO   
  15.     Statements;   
  16. END WHILE   
  17. demo   
  18. DECLARE num INT;   
  19. DECLARE my_string  VARCHAR(255);   
  20. SET num =1;   
  21. SET str ='';   
  22.   WHILE num  < span>10DO   
  23. SET  my_string =CONCAT(my_string,num,',');   
  24. SET  num = num +1;   
  25. END WHILE;3.LOOP(这里面有非常重要的ITERATE,LEAVE)   
  26.    
  27. DECLARE num  INT;   
  28. DECLARE str  VARCHAR(255);   
  29. SET num =1;   
  30. SET my_string ='';   
  31.   loop_label:  LOOP   
  32. IF  num <10THEN   
  33.       LEAVE  loop_label;   
  34. ENDIF;   
  35. SET  num = num +1;   
  36. IF(num mod3)THEN   
  37.       ITERATE  loop_label;   
  38. ELSE     
  39. SET  my_string =CONCAT(my_string,num,',');   
  40. ENDIF;  //www.xiariboke.net   
  41. END LOOP;  

PS:可以这样理解ITERATE就是我们程序中常用的contiune,而ITERATE就是break.当然在MySQL存储过程,需要循环结构有个名称,其他都是一样的.

标签:

给我留言