mysql 临时表循环_mysql 根据select结果进行循环操作,并写入临时表

数据库中有一个表:如下

SELECT id, descs  FROM table_learn  WHERE id>0 and id<4;

结果如下:

0818b9ca8b590ca3270a3433284dd417.png

下面是一个demo,可以直接按照这个结果循环操作:

delimiter //

drop procedure if exists sp_name //

create procedure sp_name()

begin

DECLARE done INT DEFAULT FALSE;

DECLARE v_id int;

DECLARE v_descs varchar(100);

#declare cursor DECLARE cur1 CURSOR FOR SELECT id, descs FROM table_learn WHERE id>0 and id<4;   #declare handle  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; drop table if exists tmp_table; create temporary table tmp_table(id int, descs varchar(100)); #open cursor OPEN cur1;   #starts the loop the_loop: LOOP #get the values of each column into our variables FETCH cur1 INTO v_id,v_descs; IF done THEN  LEAVE the_loop; END IF;   #Do some post processing IF v_id IS NOT NULL THEN  SET v_descs = "haha"; END IF; #Insert it INSERT INTO tmp_table (id, descs) VALUES (v_id, v_descs);   END LOOP the_loop;   CLOSE cur1; select * from tmp_table; end; // delimiter ; call sp_name();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值