文章目录
做任何一个项目都是这样,慢慢趋于成熟稳定的,今天我为了补下订单撤销记录表的数据,得需要从交易订单表获取,根据订单编号关联,写个存储过程处理一下历史数据,特此记录一下。
mysql版本:5.7.38
DELIMITER //
CREATE PROCEDURE update_data()
BEGIN
-- 声明要使用的变量
DECLARE var_order_no VARCHAR(50);
DECLARE var_card_no VARCHAR(50);;
DECLARE finished INT DEFAULT 0;
-- 创建游标并设置查询语句
DECLARE cur CURSOR FOR SELECT order_no, card_no FROM order_info where order_no in (select order_no from order_revoke);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;
-- 打开游标
OPEN cur;
read_loop: LOOP
FETCH cur INTO var_order_no, var_card_no;
IF finished = 1 THEN
LEAVE read_loop;
END IF;
-- 在这里编写需要进行的操作,比如更新数据等
update order_revoke set card_no = var_card_no where order_no = var_order_no;
END LOOP;
-- 关闭游标
CLOSE cur;
END//
DELIMITER ;