项目中案例,简化版,如下:
BEGIN
– 定义变量
DECLARE batchcode VARCHAR(128) DEFAULT ‘’;
– 定义变量:此变量为了判断下侧数据是否遍历完毕
DECLARE done INT DEFAULT 0;
– 获取库中你想要的基础数据,如下:(查出的数据会赋值到游标中,下侧会循环游标,对每一行的数据进行处理)
DECLARE carPolicyInfo CURSOR FOR
(SELECT
id
FROM tbnicai WHERE status = ‘1’)
UNION
(SELECT
id
FROM tbnicai WHERE status = ‘2’);
– 游标遍历完后,会赋值1
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
– 打开游标,开始遍历
OPEN carPolicyInfo;
policy_loop:LOOP
FETCH carPolicyInfo INTO batchcode; – 将查出的数据,赋值给你所定义的变量(上侧定义)
IF done=1 THEN
LEAVE policy_loop;-- 遍历完,会退出
END IF;
-- 可以对你所定义的变量进行逻辑处理
SET batchcode = CONCAT('你猜这是什么',batchcode);-- 组装主键
delete from nicaishenmobiao where id = batchcode;
-- 数据处理完成后,可以添加到你想去的表中
INSERT INTO nixiangqvdebiao (
)
VALUES
(
);
-- 结束循环,关闭游标
END LOOP policy_loop;
CLOSE carPolicyInfo;
END
希望所写的对你们有用