mysql 游标 遍历
3/4行、24行、7/8行字段的对应关系。变量名和字段名不要相同。
BEGIN
DECLARE done BOOLEAN DEFAULT 0;
DECLARE cur_ent_id VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
DECLARE cur_entf5_id VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
DECLARE t_index CURSOR FOR
select entf5_ent_id as ent_id
,entf5_id
from `entf5`
where entf5_time=left(curtime(),5)
and entf5_ent_id in (
select distinct vip_ent_id
from `v_vip`
where vip_isautof5=1
and vip_autof5enddate>=curdate()
);
-- 写法一:DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
-- DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
-- 写法二:DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN t_index;
REPEAT
FETCH t_index INTO cur_ent_id,cur_entf5_id;
IF done!=1 THEN
update `ent`
set ent_updatetime=now()
where ent_id=cur_ent_id;
update `job`
set job_updatetime=now()
where job_ent_id=cur_ent_id
and job_isdel=0
and job_isshow=1;
insert into `entf5log`(`entf5log_entf5_id`) values (cur_entf5_id);
END IF;
UNTIL done END REPEAT;
CLOSE t_index;
END