DROP PROCEDURE IF EXISTS `initpurchaes`;
CREATE PROCEDURE initpurchaes()
BEGIN
-- 从游标中取出的变量存放处
DECLARE a VARCHAR(32);
-- 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
-- 定义游标
DECLARE cc CURSOR FOR SELECT purchase_price FROM purchase_detail;
-- 将结束标志绑定到游标
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-- 打开游标
OPEN cc;
-- 开始循环
read_loop: LOOP
-- 提取游标里的数据,这里只有一个,多个的话也一样;
FETCH cc INTO a;
-- 声明结束的时候
IF done THEN
LEAVE read_loop;
END IF;
-- 循环的修改事件
UPDATE member_index set member_code = '1' where id = cast(a AS SIGNED INTEGER);
END LOOP;
-- 关闭游标
CLOSE cc;
END;
存储过程demo
最新推荐文章于 2025-04-07 13:20:53 发布