mysql游标一致性_mysql存储过程----游标

定义:

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

语法:

声明光标:

DECLARE 游标名称 CURSOR FOR 封装select语句;

开启游标(open):

OPEN 游标名称;

获取游标中的数据(fetch)

FETCH 游标名称 INTO var_name

关闭游标(close):

close 游标名称;

示例:

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

循环读取游标示例:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值