drop procedure if exists useCursor;
delimiter //
CREATE PROCEDURE useCursor()
BEGIN
-- 定义变量
declare testrangeid varchar(80) ;
declare versionid varchar(80) ;
declare done int;
-- 创建游标,并存储数据
declare cur_test CURSOR for
select sal_no as testrangeid,name as versionid from staff_basic_information;
-- 游标中的内容执行完后将done设置为1
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
-- 打开游标
open cur_test;
-- 执行循环
posLoop:LOOP
-- 判断是否结束循环
IF done=1 THEN
LEAVE posLoop;
END IF;
-- 取游标中的值
FETCH cur_test into testrangeid,versionid;
-- 执行更新操作
-- update tp_data_execute set version_id=versionid where testrange_id = testrangeid;
END LOOP posLoop;
-- 释放游标
CLOSE cur_test;
END;//
call useCursor();