MySQL的存储过程写法和Cursor的使用

作者:小龙女 时间:2008-12-03 15:55:00 

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


CREATE PROCEDURE `justifyGroupNum`()
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
BEGIN
/*how to run:call justifyGroupNum()*/
DECLARE p_group_id int;
declare p_num int;
declare stopFlag int;
DECLARE cursor_name CURSOR
FOR select c_group_id,count(*) as num
from `t_group_member`
where c_valid in (3,4)
group by c_group_id;
DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;

OPEN cursor_name;
REPEAT
FETCH cursor_name INTO p_group_id,p_num;
begin
update t_groupinfo set c_member_number=p_num where c_group_id=p_group_id;
end;
UNTIL stopFlag = 1
END REPEAT;
CLOSE cursor_name;
END;

总结:

1、注意设置游标的countinue handler:DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;

2、注意REPEAT和UTILE [停止条件] END REPEAT的使用,否则不会循环;

3、如何RUN,输入并执行:call justifyGroupNum()

标签:
0
投稿

猜你喜欢

  • ASP中利用ADODB.Stream对象将字节流转换为字符流

    2008-06-07 08:56:00
  • PHPMyadmin2.10中文显示为乱码的解决办法

    2007-08-22 08:18:00
  • 图文教程教你asp编译成dll组件

    2010-07-16 13:16:00
  • PHP结构型模式之代理模式

    2023-05-25 06:55:34
  • 在ASP中使用SQL语句之5:开始执行

    2007-08-11 12:36:00
  • asp删除mssql数据库中没有记录的图片代码

    2011-03-11 11:22:00
  • 一个提高了近10%转化率的改进

    2009-05-22 12:40:00
  • ACCESS转SQL Server2000需要注意的问题

    2007-11-18 15:25:00
  • MSSQL安全设置的具体步骤和方法小结

    2012-07-11 15:54:11
  • Excel和Access之间的数据交换

    2008-11-20 16:53:00
  • 让IE6更快的走向灭亡

    2010-02-03 15:05:00
  • MySQL应用技巧之存取权限

    2010-08-08 09:10:00
  • WEB2.0网页制作标准教程(3)定义语言编码

    2007-11-13 13:23:00
  • 科学与艺术兼顾的有效网页视觉设计

    2007-09-18 18:03:00
  • JavaScript中的this指针用法

    2007-08-26 17:29:00
  • 网页代码中键盘操作相关标签教程

    2010-03-18 15:56:00
  • 用户反馈对产品设计的帮助

    2009-02-09 13:15:00
  • 设置密码保护的SqlServer数据库备份文件与恢复文件的方法

    2011-11-03 16:55:30
  • oblog4.6转换ucenterHome1.5过程全记录,提供老用户无法登陆的补丁

    2009-10-29 12:04:00
  • 简化ADO数据库操作的控件(带分页功能)

    2008-05-20 13:15:00
  • asp之家 网络编程 m.aspxhome.com