mysql带参数游标_mysql游标的使用
1、游标的作用及属性 游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作;游标有下面这些属性: a、游标是只读的,也就是不能更新它; b、游标是不能滚动的,也就是只能在一个方向上进行遍历,不能在记录之间随意进退,不能跳过某些
1、游标的作用及属性
游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作;游标有下面这些属性:
a、游标是只读的,也就是不能更新它;
b、游标是不能滚动的,也就是只能在一个方向上进行遍历,不能在记录之间随意进退,不能跳过某些记录;
c、避免在已经打开游标的表上更新数据。
2、如何使用游标
使用游标需要遵循下面步骤:
a、首先用DECLARE语句声明一个游标
DECLARE cursor_name CURSOR FOR SELECT_statement;上面这条语句就对,我们执行的select语句返回的记录指定了一个游标
b、其次需要使用OPEN语句来打开上面你定义的游标
OPEN cursor_name;
c、接下来你可以用FETCH语句来获得下一行数据,并且游标也将移动到对应的记录上(这个就类似java里面的那个iterator)。
FETCH cursor_name INTO variable list;
d、然后最后当我们所需要进行的操作都结束后我们要把游标释放掉。
CLOSE cursor_name;
在循环游标时需要注意的是,使用定义一个针对NOT FOUND的条件处理函数(condition handler)来避免出现“no data to fetch”这样的错误,条件处理函数就是当某种条件产生时所执行的代码,这里当我们游标指到记录的末尾时,便达到NOT FOUND这样条件,这个时候我们希望继续进行后面的操作,所以我们会在下面的代码中看到一个CONTINUE。如:
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_products = 1
实例:
DELIMITER $$
DROP PROCEDURE IF EXISTS getUserInfo $$
CREATE PROCEDURE getUserInfo(in date_day datetime)
--
-- 实例
-- MYSQL存储过程名为:getUserInfo
-- 参数为:date_day日期格式:2008-03-08
--
BEGIN
declare _userName varchar(12); -- 用户名
declare _chinese int ; -- 语文
declare _math int ; -- 数学
declare done int;
-- 定义游标
DECLARE rs_cursor CURSOR FOR SELECT username,chinese,math from userInfo where datediff(createDate, date_day)=0;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
-- 获取昨天的日期
if date_day is null then
set date_day = date_add(now(),interval -1 day);
end if;
open rs_cursor;
cursor_loop:loop
FETCH rs_cursor into _userName, _chinese, _math; -- 取数据
if done=1 then
leave cursor_loop;
end if;
-- 更新表
update infoSum set total=_chinese+_math where UserName=_userName;
end loop cursor_loop;
close rs_cursor;
END$$
DELIMITER ;
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
mysql带参数游标_mysql游标的使用相关推荐
- C mysql带参数存储过程_C# 调用Mysql 带参数存储过程
使用C#调用Mysql 带参数的存储过程: 1.创建带参数的存储过程:USP_Temp_Test 2.两个参数:IN 参数为 P_XML , OUT 参数为 P_ErrorOut 3.C#代码调用该存 ...
- mysql begin end 用法_MySQL ------ 游标(CURSOR)(二十六)
MySQL执行检索操作会返回一组称为结果集的行,这组返回的行都是与SQL 语句相匹配的行(零行或多行),但是,使用简单的select 语句,没有办法得到第一行.下一行.或前十行,也不存在一行地处理所有 ...
- 什么是mysql的游标_MySQL游标概念是什么 MySQL游标概念与用法介绍
本篇文章小编给大家分享一下MySQL游标概念与用法介绍,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 1.游标的概念(Cursor) 一条sql,对应N条资源,取出资源的接 ...
- mysql嵌套loop循环_mysql游标嵌套循环
最近在mysql开发过程中用到了游标的嵌套循环,下面列举了3种嵌套循环(loop-loop,loop-while,loop-repeat). 程序用到的表和数据 CREATE TABLE tb_dic ...
- mysql游标_MySQL游标概念与用法详解
本文实例讲述了MySQL游标概念与用法.分享给大家供大家参考,具体如下: 1.游标的概念(Cursor) 一条sql,对应N条资源,取出资源的接口,就是游标,沿着游标,可以一次取出1行.如果开发过安卓 ...
- mysql带参数的sql_MySql存储过程是带参数的存储过程(动态执行SQL语句)
下文介绍的MySql存储过程是带参数的存储过程(动态执行SQL语句),该MySql存储过程是根据用户输入的条件和排序方式查询用户的信息,排序条件可以没有调用方式: call GetUsersDynam ...
- mysql while 游标_mysql 游标 loop while 的使用
项目需求:对表进行重新构建,这个用java的缺点是数据的传送以及遍历的话会消耗更多的资源,因此使用mysql的存储过程进行构建. 具体要求:跳过原本设置的假期和课程本身的假期对数据进行重排. 1.游标 ...
- mysql游标_MySQL 游标的使用
MySQL 游标 游标的特性 不敏感:数据库可以选择不复制结果集 只读 不滚动:游标只能向一方向前进,并且不可以跳过任何一行数据 游标的优点 游标是针对行操作的,对从数据库中 select 查询得到的 ...
- mysql c 游标_mysql游标示例 mysql游标简易教程
从mysql V5.5开始,进行了一次大的改变,就是将InnoDB作为默认的存储引擎.InnoDB支持事务,而且拥有相关的RDBMS特性:ACID事务支持,数据完整性(支持外键),灾难恢复能力等等. ...
- mysql存储过程 带参数例子_MySQL带参数的存储过程小例子
存储过程P_GET_CLASS_NAME是根据输入的班级号判断班级名称,存储过程P_INSERT_STUDENT是接收输入的学生信息,最终将信息插入学生 存储过程P_GET_CLASS_NAME是根据 ...
最新文章
- 法国科学家发布AI模型,阐释蛋白结构和功能及进化关系
- MySQL中INSERT INTO SELECT的使用
- PMCAFF微课堂 | 测试兄弟CEO揭秘如何提高创初团队的产品质量
- ubuntu查看版本
- tensorflow数据增强
- 值转换成布尔类型的False;
- java 装饰者_java装饰者模式怎么用?
- Linux终端显示图像
- c#随机数总结,汉字,英文,数字
- TelephonyManager与PhoneInterfaceManager应用
- viewpager中fragment的生命周期管理
- CC2540/CC2541蓝牙4.0BLE协议栈开发
- CSDN设置主题背景
- 浅析CSDN的下载积分
- 520动态爱心-代码
- 游戏数据库数据管理系统开发体会
- 润乾报表设计器——预览报表问题解决
- 想找个这样的男朋友,要求高吗?
- 微信小程序-云函数获取用户openid
- 做自媒体视频剪辑必备的六个剪辑app分享
热门文章
- IKVM.NET_第二篇_应用
- row_number()函数的使用
- TensorFlow实现mnist手写数字识别项目代码
- java springmvc是什么意思_springmvc的简单理解与使用
- h5 px 转dp_西游女儿国h5手游下载-西游女儿国h5手游下载v2.1.4 安卓版
- 常用评价指标及其Python实现
- 四种实时操作系统的分析比较
- 对在Qtopia中添加国际化支持一文补充
- mysql 本月第几周_Mysql 计算当前日期是本月第几周:一个自定义算法
- string和wstring相互转换以及wstring显示中文问题