Mysql 存储过程中使用游标循环读取临时表
时间:2022-05-30 13:59:39|栏目:MySQL|点击: 次
游标
游标(Cursor)是用于查看或者处理结果集中的数据的一种方法。游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。
游标的使用方式
定义游标:Declare 游标名称 CURSOR for table;(table也可以是select出来的结果集)
打开游标:Open 游标名称;
从结果集获取数据到变量:fetch 游标名称 into field1,field2;
执行语句:执行需要处理数据的语句
关闭游标:Close 游标名称;
BEGIN
# 声明自定义变量
declare c_stgId int;
declare c_stgName varchar(50);
# 声明游标结束变量
declare done INT DEFAULT 0;
# 声明游标 cr 以及游标读取到结果集最后的处理方式
declare cr cursor for select Name,StgId from StgSummary limit 3;
declare continue handler for not found set done = 1;
# 打开游标
open cr;
# 循环
readLoop:LOOP
# 获取游标中值并赋值给变量
fetch cr into c_stgName,c_stgId;
# 判断游标是否到底,若到底则退出游标
# 需要注意这个判断
IF done = 1 THEN
LEAVE readLoop;
END IF;
SELECT c_stgName,c_stgId;
END LOOP readLoop;
-- 关闭游标
close cr;
END
您可能感兴趣的文章
- 05-31MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
- 05-31MySQL索引失效十种场景与优化方案
- 05-31MYSQL 高级文本查询之regexp_like和REGEXP详解
- 05-31MySQL获取binlog的开始时间和结束时间(最新方法)
- 05-31MySQL索引查询的具体使用
- 05-31基于MySQL和Redis扣减库存的实践
- 05-31关于MySQL的存储过程与存储函数
- 05-31MySQL实战文章(非常全的基础入门类教程)
- 05-31MySQL Flink Watermark实现事件时间处理的关键技术
- 05-31MySQL Flink实时流处理的核心技术之窗口机制


阅读排行
推荐教程
- 05-30开启MySQL远程连接的方法
- 05-30MySQL数据库中varchar类型的数字比较大小的方法
- 05-30浅谈mysql返回Boolean类型的几种情况
- 05-30MySQL线上死锁分析实战
- 05-30Prometheus 监控MySQL使用grafana展示
- 05-30CentOS7安装MySQL 8.0.26的过程
- 05-30Navicat for MySQL 11注册码激活码汇总
- 05-30详解mysql触发器trigger实例
- 05-30MySQL高可用架构之MHA架构全解
- 05-30mysql 8.0.24 安装配置方法图文教程


