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游标的使用相关推荐

  1. C mysql带参数存储过程_C# 调用Mysql 带参数存储过程

    使用C#调用Mysql 带参数的存储过程: 1.创建带参数的存储过程:USP_Temp_Test 2.两个参数:IN 参数为 P_XML , OUT 参数为 P_ErrorOut 3.C#代码调用该存 ...

  2. mysql begin end 用法_MySQL ------ 游标(CURSOR)(二十六)

    MySQL执行检索操作会返回一组称为结果集的行,这组返回的行都是与SQL 语句相匹配的行(零行或多行),但是,使用简单的select 语句,没有办法得到第一行.下一行.或前十行,也不存在一行地处理所有 ...

  3. 什么是mysql的游标_MySQL游标概念是什么 MySQL游标概念与用法介绍

    本篇文章小编给大家分享一下MySQL游标概念与用法介绍,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 1.游标的概念(Cursor) 一条sql,对应N条资源,取出资源的接 ...

  4. mysql嵌套loop循环_mysql游标嵌套循环

    最近在mysql开发过程中用到了游标的嵌套循环,下面列举了3种嵌套循环(loop-loop,loop-while,loop-repeat). 程序用到的表和数据 CREATE TABLE tb_dic ...

  5. mysql游标_MySQL游标概念与用法详解

    本文实例讲述了MySQL游标概念与用法.分享给大家供大家参考,具体如下: 1.游标的概念(Cursor) 一条sql,对应N条资源,取出资源的接口,就是游标,沿着游标,可以一次取出1行.如果开发过安卓 ...

  6. mysql带参数的sql_MySql存储过程是带参数的存储过程(动态执行SQL语句)

    下文介绍的MySql存储过程是带参数的存储过程(动态执行SQL语句),该MySql存储过程是根据用户输入的条件和排序方式查询用户的信息,排序条件可以没有调用方式: call GetUsersDynam ...

  7. mysql while 游标_mysql 游标 loop while 的使用

    项目需求:对表进行重新构建,这个用java的缺点是数据的传送以及遍历的话会消耗更多的资源,因此使用mysql的存储过程进行构建. 具体要求:跳过原本设置的假期和课程本身的假期对数据进行重排. 1.游标 ...

  8. mysql游标_MySQL 游标的使用

    MySQL 游标 游标的特性 不敏感:数据库可以选择不复制结果集 只读 不滚动:游标只能向一方向前进,并且不可以跳过任何一行数据 游标的优点 游标是针对行操作的,对从数据库中 select 查询得到的 ...

  9. mysql c 游标_mysql游标示例 mysql游标简易教程

    从mysql V5.5开始,进行了一次大的改变,就是将InnoDB作为默认的存储引擎.InnoDB支持事务,而且拥有相关的RDBMS特性:ACID事务支持,数据完整性(支持外键),灾难恢复能力等等. ...

  10. mysql存储过程 带参数例子_MySQL带参数的存储过程小例子

    存储过程P_GET_CLASS_NAME是根据输入的班级号判断班级名称,存储过程P_INSERT_STUDENT是接收输入的学生信息,最终将信息插入学生 存储过程P_GET_CLASS_NAME是根据 ...

最新文章

  1. 法国科学家发布AI模型,阐释蛋白结构和功能及进化关系
  2. MySQL中INSERT INTO SELECT的使用
  3. PMCAFF微课堂 | 测试兄弟CEO揭秘如何提高创初团队的产品质量
  4. ubuntu查看版本
  5. tensorflow数据增强
  6. 值转换成布尔类型的False;
  7. java 装饰者_java装饰者模式怎么用?
  8. Linux终端显示图像
  9. c#随机数总结,汉字,英文,数字
  10. TelephonyManager与PhoneInterfaceManager应用
  11. viewpager中fragment的生命周期管理
  12. CC2540/CC2541蓝牙4.0BLE协议栈开发
  13. CSDN设置主题背景
  14. 浅析CSDN的下载积分
  15. 520动态爱心-代码
  16. 游戏数据库数据管理系统开发体会
  17. 润乾报表设计器——预览报表问题解决
  18. 想找个这样的男朋友,要求高吗?
  19. 微信小程序-云函数获取用户openid
  20. 做自媒体视频剪辑必备的六个剪辑app分享

热门文章

  1. IKVM.NET_第二篇_应用
  2. row_number()函数的使用
  3. TensorFlow实现mnist手写数字识别项目代码
  4. java springmvc是什么意思_springmvc的简单理解与使用
  5. h5 px 转dp_西游女儿国h5手游下载-西游女儿国h5手游下载v2.1.4 安卓版
  6. 常用评价指标及其Python实现
  7. 四种实时操作系统的分析比较
  8. 对在Qtopia中添加国际化支持一文补充
  9. mysql 本月第几周_Mysql 计算当前日期是本月第几周:一个自定义算法
  10. string和wstring相互转换以及wstring显示中文问题