前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql存储过程----游标

mysql存储过程----游标

作者头像
用户5899361
发布2020-12-07 15:39:14
2.8K0
发布2020-12-07 15:39:14
举报
文章被收录于专栏:学习java的小白
定义:

游标是用来存储查询结果集的数据类型,在存储过程和存储函数中可以使用游标对结果集进行循环处理,游标的使用包括游标声明、open、fetch和close,语法如下:

语法:

声明光标:

代码语言:javascript
复制
DECLARE 游标名称 CURSOR FOR 封装select语句;

开启游标(open):

代码语言:javascript
复制
OPEN 游标名称;

获取游标中的数据(fetch)

代码语言:javascript
复制
FETCH 游标名称 INTO var_name

关闭游标(close):

代码语言:javascript
复制
close 游标名称;
示例:
代码语言:javascript
复制
BEGIN	
	-- 声明保存数据的变量
  DECLARE class_id int(10);
	DECLARE class_name VARCHAR(10);
  -- 声明一个名字为 cursor_result 游标
  -- 游标值为class_info表中数据
	DECLARE cursor_result CURSOR FOR select * from class_info;
  -- 打开游标
  OPEN cursor_result;

	-- 遍历值放入变量中
	FETCH cursor_result INTO class_id,class_name;
	-- 查看结果
	SELECT CONCAT('class_id=',class_id,'class_name=',class_name);
-- 遍历值放入变量中
	FETCH cursor_result INTO class_id,class_name;
	-- 查看结果
	SELECT CONCAT('class_id=',class_id,'class_name=',class_name);
  -- 关闭游标
	CLOSE cursor_result;
END

循环读取游标示例:

代码语言:javascript
复制
BEGIN	
	-- 声明保存数据的变量
    DECLARE c_id int(10);
	DECLARE c_name VARCHAR(10);
	-- 声明记录总记录数的变量
	DECLARE count_class_info INT(10) DEFAULT 1;
	-- 声明一个名字为 cursor_result 游标
  -- 游标值为class_info表中数据
	DECLARE cursor_result CURSOR FOR select * from class_info;
	-- 设置值,如果抓取不到数据给count_class_info设置为0
	DECLARE EXIT HANDLER FOR NOT FOUND SET count_class_info=0;
  -- 打开游标
  OPEN cursor_result;
	WHILE count_class_info<>0 DO

		-- 遍历值放入变量中
		FETCH cursor_result INTO c_id,c_name;
		-- 查看结果
		SELECT CONCAT('class_id=',c_id,'class_name=',c_name);
	END WHILE;

  -- 关闭游标
	CLOSE cursor_result;
  
END
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义:
  • 语法:
  • 示例:
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档