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

Freya ·
更新时间:2024-11-15
· 862 次阅读

示例如下:
代码如下:
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() 您可能感兴趣的文章:MySQL存储过程例子(包含事务,输出参数,嵌套调用)mysql 存储过程中变量的定义与赋值操作MySQL 有输入输出参数的存储过程实例mysql 动态执行存储过程语句mysql 教程 存储过程mysql 存储过程的问题MySQL5创建存储过程的示例MySQL5.0存储过程教程MySQL与存储过程的相关资料php调用mysql存储过程MySQL 存储过程的基本用法介绍



存储 cursor 存储过程 Mysql mysql 存储过程 方法

需要 登录 后方可回复, 如果你还没有账号请 注册新账号