MySQL 存储过程中的循环操作

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
+关注继续查看
使用光标执行循环操作
None.gifDROP PROCEDURE IF EXISTS sp_opr;
None.gif
CREATE PROCEDURE sp_opr()
None.gif
BEGIN
None.gif
ExpandedBlockStart.gif    
/* 定义变量一 */
None.gif    
DECLARE _Err_Code CHAR(8DEFAULT '';
ExpandedBlockStart.gif    
/* 定义变量二 */
None.gif    
DECLARE _Cnt INT DEFAULT 0;
None.gif    
ExpandedBlockStart.gif    
/* 光标 */
None.gif    
DECLARE _done INT DEFAULT 0;
None.gif    
DECLARE _Cur_Error CURSOR FOR
None.gif        
SELECT col1,col2 FROM table WHERE rec_dd=ADDDATE(CURDATE(),-1);
None.gif    
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET _done = 1;
None.gif    
ExpandedBlockStart.gif    
/* 打开光标 */
None.gif    
OPEN _Cur_Error;
ExpandedBlockStart.gif        
/* 循环执行 */
None.gif        REPEAT
None.gif          
FETCH _Cur_Error INTO _Err_Code, _Cnt; --读取下一行
None.gif
          
None.gif          
IF NOT _done THEN
None.gif          
-- 这里的代码被循环执行(这里可以使用上面读取的值)
None.gif
          END IF;
None.gif          
None.gif        UNTIL _done 
END REPEAT; --当_done=1时退出被循
None.gif
        
ExpandedBlockStart.gif    
/*关闭光标*/
None.gif    
CLOSE _Cur_Error;
None.gif
None.gif
END;
本文转自chy710博客园博客,原文链接:http://www.cnblogs.com/chy710/archive/2007/06/13/782481.html,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
20天前
|
存储 关系型数据库 MySQL
mysql 循环和游标使用
mysql 循环和游标使用
|
6月前
|
存储 Oracle 关系型数据库
MySql存储过程游标循环问题解决过程
MySql存储过程游标循环问题解决过程
64 0
|
6月前
|
存储 SQL 安全
15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天(下)
15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天
80 0
|
6月前
|
存储 SQL 关系型数据库
15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天(上)
15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天
95 0
|
6月前
|
存储 关系型数据库 MySQL
MySQL中利用存储过程实现循环批量建表
MySQL中利用存储过程实现循环批量建表
10975 1
|
8月前
|
存储 关系型数据库 MySQL
mysql循环插入数据存储过程
mysql循环插入数据存储过程
214 0
|
10月前
|
SQL 关系型数据库 MySQL
如何解决mysql警告:“ InnoDB:page_cleaner:1000毫秒的预期循环用了XXX毫秒设置可能不是最佳的”?
如何解决mysql警告:“ InnoDB:page_cleaner:1000毫秒的预期循环用了XXX毫秒设置可能不是最佳的”?
427 0
|
11月前
|
存储 SQL Java
MySQL存储过程手册,及创建存储过程:循环为所有表添加字段
MySQL存储过程手册,及创建存储过程:循环为所有表添加字段
495 0
MySQL存储过程手册,及创建存储过程:循环为所有表添加字段
|
11月前
|
关系型数据库 MySQL
MySQL之循环,`WHILE`、`REPEAT`和`LOOP`
MySQL之循环,`WHILE`、`REPEAT`和`LOOP`
|
12月前
|
存储 关系型数据库 MySQL
mysql存储过程repeat循环多循环一次
mysql存储过程repeat循环多循环一次
112 0
推荐文章
更多