首页 > 数据库 > MySQL > 正文

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

2024-07-24 12:36:59
字体:
来源:转载
供稿:网友

本文章来给大家介绍关于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;  //Vevb.com 
  41. END LOOP; 

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表