CREATE PROCEDURE `justifyGroupNum`()NOT DETERMINISTICSQL SECURITY DEFINERCOMMENT ''BEGIN/*how to run:call justifyGroupNum()*/DECLARE p_group_id int;declare p_num int;declare stopFlag int;DECLARE cursor_name CURSORFOR select c_group_id,count(*) as numfrom `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;REPEATFETCH cursor_name INTO p_group_id,p_num;beginupdate t_groupinfo set c_member_number=p_num where c_group_id=p_group_id;end;UNTIL stopFlag = 1END REPEAT;CLOSE cursor_name;END;
总结:
1、注意设置游标的countinue handler:DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;