mysql 循环遍历结果集,来逐条更新
SELECT USER_ID FROM ua; 会返回USER_ID的列表
通过循环来逐条更新符合USER_ID的记录
# delimiter $$ 告诉解释器使用$$结尾 delimiter $$ DROP PROCEDURE IF EXISTS test_update; create PROCEDURE test_update () begin # 声明自定义变量 DECLARE tempUserId BIGINT(20); # 声明游标结束变量 DECLARE done INT DEFAULT 0; # 声明游标 cr 以及游标读取到结果集最后的处理方式 DECLARE cur CURSOR FOR SELECT USER_ID FROM ua; DECLARE continue handler for not found set done = 1; # 打开游标 OPEN cur; # 循环 users_loop: LOOP # 获取游标中值并赋值给变量 FETCH cur INTO tempUserId; # 判断游标是否到底,若到底则退出游标 # 需要注意这个判断 IF done=1 THEN LEAVE users_loop; END IF; # 需要执行的语句 update tb_cpl_user_info set CHANNEL ='abc123' WHERE user_id = tempUserId; END LOOP users_loop; -- 关闭游标 CLOSE cur; end$$ # 最后重新定义为; delimiter ; # 执行存储过程 call test_update;
分类:
其他
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决