## 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;
```