MYSQL学习笔记:关于MySQL游标(5)


MySQL学习:


MySQL游标


1.什么是游标?

游标(cursor)是一个存储在MySQL服务器上的数据库查询,它并不是一条SELECT语句,而是被该语句检索出来的结果集。
使用游标也可以轻易的取出在检索出来的行中前进或后退一行或多行的结果,也可以遍历返回的多行结果。


2.游标的使用
  • 定义游标
CREATE PROCEDURE 函数名()
BEGIN
	DECLARE 游标名 CURSOR 
	FOR
	SELECT语句;
END;
  • 打开和关闭游标
OPEN 游标名;  --打开
CLOSE 游标名;--关闭
  • 例子

fetch是获取游标当前指向的数据行,并将指针指向下一行,当游标已经指向最后一行时继续执行会造成游标溢出。
用 REPEAT 来循环的时候,也用 UNTIL done END REPEAT 语句来结束循环。

CREATE PROCEDURE func () 
BEGIN
    -- 创建接收游标数据的变量
	DECLARE o INT;
	DECLARE n VARCHAR ( 20 );
	
	-- 创建结束标值变量 
	DECLARE done INT DEFAULT FALSE;
	
	-- 指定游标循环结束时的返回值
	DECLARE CONTINUE HANDLER FOR NOT found SET done = TRUE;
	
	-- 创建游标
	DECLARE ordernumbers CURSOR
	FOR
	SELECT math FROM students;
		
	-- 打开游标
	OPEN ordernumbers;
	
	-- 循环开始
	REPEAT
		FETCH ordernumbers INTO o;
		...
	UNTIL done END REPEAT;-- 循环结束
	
	-- 关闭游标
	CLOSE ordernumbers;
	
END;

CALL func ();


若有不当之处,欢迎指正!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值