当前位置: 首页 > news >正文

鄂州网站制作企业环保网站模板代码

鄂州网站制作企业,环保网站模板代码,品牌营销策划成功案例,自定义网址生成器文章目录 1.游标是什么2.MySQL 游标3.定义游标4.打开游标5.提取数据6.关闭游标参考文献 1.游标是什么 游标(Cursor)是一种用于处理查询结果集的数据库对象,它允许开发者按照特定的顺序逐行遍历查询结果集中的数据。游标通常用于在数据库中执…

文章目录

  • 1.游标是什么
  • 2.MySQL 游标
  • 3.定义游标
  • 4.打开游标
  • 5.提取数据
  • 6.关闭游标
  • 参考文献

1.游标是什么

游标(Cursor)是一种用于处理查询结果集的数据库对象,它允许开发者按照特定的顺序逐行遍历查询结果集中的数据。游标通常用于在数据库中执行复杂的操作,例如遍历结果集、逐行处理数据、执行更新或删除操作等。

游标的基本思想是将查询结果集封装成一个数据结构,使得开发者可以在程序中按照自己的需求处理这些数据。游标可以类比为一个指向结果集中某一行的指针,您可以在结果集中移动这个指针,从而处理每一行数据。

使用 SQL 游标一般遵循如下步骤。

  1. 声明游标。首先,您需要声明一个游标,将查询结果集与游标关联起来。
  2. 打开游标。在需要使用游标之前,您需要打开游标,使其准备好用于遍历数据。
  3. 遍历数据。您可以使用游标的操作来逐行地获取数据,并在每一行上执行操作。
  4. 关闭游标。当您完成了对结果集的操作后,应该关闭游标以释放资源。

2.MySQL 游标

MySQL 支持存储程序(如存储过程、函数和触发器)中使用游标。语法与嵌入式SQL中的语法相同。

MySQL 游标具有以下属性:

  • 敏感不定(Asensitive)

服务器可能会也可能不会复制其结果集。如果复制的话,为不敏感游标,游标使用实际数据的副本。如果不复制的话,为敏感游标,游标指向实际数据,其他连接所做的任何更改都将影响游标正在使用的数据。

  • 只读(Read only)

无法通过游标更新表中的数据。

  • 不可滚动(Nonscrollable)

只能沿一个方向遍历,不能跳过行。

游标声明必须出现在处理程序声明之前以及变量和条件声明之后。

下面是一个来自官网的例子。

CREATE PROCEDURE curdemo()
BEGINDECLARE done INT DEFAULT FALSE;DECLARE a CHAR(16);DECLARE b, c INT;DECLARE cur1 CURSOR FOR SELECT id,data FROM test.t1;DECLARE cur2 CURSOR FOR SELECT i FROM test.t2;DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;OPEN cur1;OPEN cur2;read_loop: LOOPFETCH cur1 INTO a, b;FETCH cur2 INTO c;IF done THENLEAVE read_loop;END IF;IF b < c THENINSERT INTO test.t3 VALUES (a,b);ELSEINSERT INTO test.t3 VALUES (a,c);END IF;END LOOP;CLOSE cur1;CLOSE cur2;
END;

3.定义游标

DECLARE cursor_name CURSOR FOR select_statement

该语句声明一个游标并将其 SELECT 语句结果集关联起来。要稍后获取行,请使用 FETCH 语句。 SELECT 语句检索的列数必须与 FETCH 语句中指定的输出变量数匹配。

SELECT 语句不能有 INTO 子句。

存储程序可以包含多个游标声明,但给定块中声明的每个游标必须具有唯一的名称。

4.打开游标

OPEN cursor_name

这个语句打开先前声明的游标。

5.提取数据

FETCH [[NEXT] FROM] cursor_name INTO var_name [, var_name] ...

此语句获取与指定游标(必须打开)关联的 SELECT 语句的下一行,并推进游标指针。 如果行存在,则获取的列存储在命名变量中。 SELECT 语句检索的列数必须与 FETCH 语句中指定的输出变量数匹配。

如果没有更多行可用,则会出现“无数据”条件,且 SQLSTATE 值为“02000”。 要检测此条件,您可以为其设置处理程序(或为 NOT FOUND 条件设置处理程序),请参考文首的示例。

6.关闭游标

CLOSE cursor_name

此语句关闭先前打开的游标。

如果游标未打开,则会发生错误。

如果未显式关闭,游标将在声明它的 BEGIN … END 块的末尾处自动关闭。


参考文献

MySQL 8.0 Reference Manual :: 13.6.6 Cursors

http://www.yayakq.cn/news/304110/

相关文章:

  • 建设银行个人网站登陆营销策划推广
  • 做游戏ppt下载网站万秀服务不错的seo推广
  • 普通网站建设多少钱银川网站建设设计
  • 怎么做网站投票选举成都网站建设源码世纪
  • 网站架构分析工具注册资金写100万后悔
  • 公司网站开发费算什么费用门户网站建设招标方
  • 没有做防注入的网站教做衣服的网站
  • 做网站的时候字体应该多大房产网站建设的功能
  • 域名注册查询网站wordpress cms怎么登陆界面
  • 重庆专业微信商城建设公司叶涛网站推广优化
  • 网站建设群发广告词做课展网站
  • 三维立体网站建设单县做网站
  • 网校网站毕业设计的方案石佛营网站建设
  • 凯里网站设计哪家好高端h5网站建设 上海
  • 国内互联网建站公司排名电子商务网站建设规划报告
  • 做购物网站骗人自己做网站用花钱么
  • 南宁公司网站建设公司唐山做网站公司汉狮价格
  • 个人网站免费服务器想做水果外卖怎么做网站
  • 阿土伯网站做产品推广咋样怎么看一个网站什么程序做的
  • wordpress仿站视频教程一个网址建多个网站
  • 做平面设计的一般浏览什么网站深圳网站建设哪家比较专业
  • 广州 网站开发 骏域旅游网站课程设计
  • 团员注册网站十秒折一个萝卜刀
  • 结婚网站模版公司名字寓意好的字
  • 网站推广方式和手段wordpress弹出服务协议窗口
  • 免费网站设计 优帮云word导入wordpress
  • 石家庄网站建设推广服务零起飞网站建设工作室
  • 沧州网站建设刘磊绍兴企业网站推广
  • 创建一个购物网站自动售货机免费投放联系方式
  • 网站建设管理报告济南建设企业网站