MySql使用游标Cursor循环(While)更新数据
#要修改的变量
DECLARE var_ID VARCHAR(50) DEFAULT '';
#需要修改的数据的数量
DECLARE var_UpdateCount INT;
#当前循环次数
DECLARE var_WhileTimes INT;
#定义游标
DECLARE var_Cur CURSOR FOR
SELECT id FROM table_Name;
#打开游标
OPEN var_Cur;
#将游标的数据进行赋值
FETCH var_Cur INTO var_ID;
#获取循环次数
SELECT COUNT(1) FROM table_Name;
#开始循环
cur_While:WHILE (var_WhileTimes <= var_UpdateCount) DO
#更新数据
UPDATE table_Name SET column_Name = var_ID ;
#下一循环
FETCH var_Cur INTO var_ID;
#结束循环
END WHILE;
此为非常简单的一个示例,记录这部分代码的原因是:第一次写MySql的存储,在利用游标循环更新数据时,如果在循环中,有select语句且查询结果为null时,如果这时使用的是DECLARE CONTINUE HANDLER的方式的话,就会直接跳出循环了,但是这个方式不会,虽然在循环开始之前,又提前查询了一下需要循环的次数,但是这么一个简单的查询语句一般对效率几乎没什么影响,当然,查询游标结果集的语句本身就特别复杂的话另论;记录一下这个经验,在分享的同时,也方便以后参考;刚接触MySql,不足之处,欢迎指教;
MySql使用游标Cursor循环(While)更新数据的更多相关文章
- MySQL中游标使用以及读取文本数据
原文:MySQL中游标使用以及读取文本数据 前言 之前一直没有接触数据库的学习,只是本科时候修了一本数据库基本知识的课.当时只对C++感兴趣,天真的认为其它的课都没有用,数据库也是半懂不懂,胡乱就考试 ...
- mysql触发器的例子--插入前更新数据
本文介绍下,一个mysql触发器的例子,在数据插入前更新相关内容,有需要的朋友参考下. mysql触发器的例子,如下: view source print? 001 mysql> CREATE ...
- MySql存储过程—7、游标(Cursor)
|字号 订阅 1.游标的作用及属性 游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作:游标有下面这些属性: a.游标是只读的,也就是不能更新它: b.游标是不能滚动的,也就是只能 ...
- python + mysql 实现表更新数据
实例如下: import pymysqldef Update_Set(): #打开数据库链接 db = pymysql.connect("localhost","root ...
- mysql 存储过程 游标的使用 与定义
1.游标的作用及属性 游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作:游标有下面这些属性: a.游标是只读的,也就是不能更新它: b.游标是不能滚动的,也就是只能在一个方向上进 ...
- mongodb批量update更新数据
需要先查找出相关的记录,然后循环处理更新数据.如下案例,更新所有status=1的数据的gender值为2 db.getCollection('test').find({"status&qu ...
- MySQL存储过程例子,包含事务,参数,嵌套调用,游标,循环等
drop procedure if exists pro_rep_shadow_rs; delimiter | ---------------------------------- -- rep_sh ...
- MySQL通过游标来实现通过查询结果集循环
/*我们有时候会遇到需要对 从A表查询的结果集S_S 的记录 进行遍历并做一些操作(如插入),且这些操作需要的数据或许部分来自S_S集合*/ /*临时存储过程,没办法,不能直接在查询窗口做这些事.*/ ...
- MySQL通过游标来实现通过查询记录集循环
/*我们有时候会遇到需要对 从A表查询的结果集S_S 的记录 进行遍历并做一些操作(如插入),且这些操作需要的数据或许部分来自S_S集合*//*临时存储过程,没办法,不能直接在查询窗口做这些事.*/d ...
随机推荐
- 分枝定界的matlab实现
function [optSolution,optValue,exists]=BranchBound(c,A,b) % 分支定界法 % 整数规划问题标准型 % min c'*x % s.t. % A* ...
- Linux Shell 学习总结
1. -bash: ./dd.sh: /bin/bash^M: bad interpreter: 没有那个文件或目录 当出现上面这问题的时候,首先看你的.profile 里面是否配置对了,一般配置为: ...
- python date
三天前 datetime.datetime.now() - datetime.timedelta(days=3)
- [转]Bat脚本处理ftp超强案例解说
Bat脚本处理ftp超强案例解说 转自:http://369369.blog.51cto.com/319630/842341 前言: 公司有几百台windows服务器,每次程序更新,如果是一台 ...
- WPF中Grid布局
WPF中Grid布局XMAl与后台更改,最普通的登录界面为例. <Grid Width="200" Height="100" > <!--定义 ...
- (转)Tomcat数据源连接池加密
文章来源 :http://my.oschina.net/cimu/blog/164757 我们在使用Tomcat数据库连接池的时候都是明文存储数据库用户名和密码的,例如: <Resource n ...
- Java日志规范
前言 一个在生产环境里运行的程序如果没有日志是很让维护者提心吊胆的,有太多杂乱又无意义的日志也是令人伤神.程序出现问题时候,从日志里如果发现不了问题可能的原因是很令人受挫的.本文想讨论的是如何在Jav ...
- oc--UINavigationController控制器
UINavigationController导航控制器 UINavigationController导航控制器,是多个界面间跳转的重要元素,可以理解为它存储着多个viewController,它的存储 ...
- 如何下载youtube上面的视频
youtube做为全球最大的视频共享网站,其视频数量难以计数. 那么你是不是从上面发现了你中意MV,或者一些别的视频?但是你却为无法下载这些视频而苦恼? http://vixy.net/flv_con ...
- Ant介绍
今天介绍一下Ant,Ant是基于Java的跨平台构建工具,它易于使用,并且可扩展.可升级.它既可以用于小的个人项目,也可以用于大型的.多组协同的软件项目. 在我们的项目开发中,为了构建一个软件产品,我 ...