MySQL存储过程涉及Cursor的使用

很文博客hinwi.com 数据库评论188字数 753阅读模式
广告也精彩

本文中介绍了一个MySQL存储过程,其中涉及Cursor的使用

示例如下:文章源自很文博客https://www.hinwi.com/很文博客-https://www.hinwi.com/53955.html

  1. CREATE PROCEDURE `justifyGroupNum`()
  2. NOT DETERMINISTIC
  3. SQL SECURITY DEFINER
  4. COMMENT ''
  5. BEGIN
  6. /*how to run:call justifyGroupNum()*/
  7. DECLARE p_group_id int;
  8. declare p_num int;
  9. declare stopFlag int;
  10. DECLARE cursor_name CURSOR
  11. FOR select c_group_id,count(*) as num
  12. from `t_group_member`
  13. where c_valid in (3,4)
  14. group by c_group_id;
  15. DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
  16. OPEN cursor_name;
  17. REPEAT
  18. FETCH cursor_name INTO p_group_id,p_num;
  19. begin
  20. update t_groupinfo set c_member_number=p_num where c_group_id=p_group_id;
  21. end;
  22. UNTIL stopFlag = 1
  23. END REPEAT;
  24. CLOSE cursor_name;
  25. END;

总结:
1、注意设置游标的countinue handler:DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
2、注意REPEAT和UTILE [停止条件] END REPEAT的使用,否则不会循环;
3、如何RUN,输入并执行:call justifyGroupNum()文章源自很文博客https://www.hinwi.com/很文博客-https://www.hinwi.com/53955.html

文章源自很文博客https://www.hinwi.com/很文博客-https://www.hinwi.com/53955.html

工具:作品在线观看

女优:最新作品观看

中文:国语在线观看

weinxin
我的微信
扫一扫更精彩
大家的支持是我更新的动力!!!
 
广告也精彩
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证