阿东的笔记_  工具
## MySQL存储过程游标操作 ```SQL DROP PROCEDURE IF EXISTS `proc_update_by_cursor`; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `proc_update_by_cursor`() BEGIN -- 检查最近生成的数据,判断需要滑动的数据,循环每10分钟执行滑动 DECLARE username VARCHAR(32); -- 定义变量 DECLARE end_flag int DEFAULT 0; -- 游标结束标识 -- 定义游标,并将sql结果集赋值到游标中 DECLARE cur_user CURSOR FOR select username from `dbname`.`user`; -- 声明当游标遍历完后将标志变量置成某个值 DECLARE CONTINUE HANDLER FOR NOT FOUND SET end_flag=1; OPEN cur_user; -- 遍历游标 REPEAT -- 获取当前游标指针记录,取出值赋给自定义的变量 FETCH cur_user INTO username; -- 根据获得的 username 执行操作 SELECT username; UNTIL end_flag END REPEAT; CLOSE cur_user; END;; DELIMITER; ```
adddge@sohu.com  | 桂ICP备2022009838号-2