MySQL游标使用
Posted 东子z
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL游标使用相关的知识,希望对你有一定的参考价值。
游标的作用:游标提供了一种对从表中检索出的数据进行操作的灵活手段。
通过使用游标,使SQL这种面向集合的语言有了面向过程开发的能力。
如何使用游标:
在mysql数据库中,可以在存储过程、函数、触发器、或者事件中使用游标。
使用时需要与handler一起,并且游标要在handler之前定义。
游标具有三个属性:(1)Asensitive:数据库也可以选择不复制结果集;
(2)Read only:不可更新;
(3)Nonscrollable:游标只能向一个方向前进,并且不可以跳过任何一行数据。
使用时,首先定义一个游标变量:
然后打开定义好的游标变量:
接着就可以从游标中取得数据:
最后关闭游标:
通过一个例子演示如何在存储过程中使用游标:
use datatest; set @counts = \'3333\'; set @eee = \'egy49xa\'; call pp3(@counts, @eee); select @counts, @eee; drop procedure IF EXISTS pro_result; delimiter // create procedure pro_result(out sum bigint) BEGIN declare i int; declare done int default 0; declare did cursor for select id from demo1;-- 游标的定义 declare continue handler for not found set done = 1; set sum = 0; open did;-- 打开游标 xxx:LOOP fetch did into i;-- 游标里取得数据 if done = 1 THEN -- 设定退出条件 leave xxx; END IF; set sum = sum + i; END LOOP; close did; END // delimiter ; -- 调用 set @sum = 0; call pro_result(@sum); select @sum;
数据为十万条结果
以上是关于MySQL游标使用的主要内容,如果未能解决你的问题,请参考以下文章