在存储过程中可以使用光标对结果集进行循环处理,光标的使用包括光标的声明、open、fetch、close。
语法如下:
--声明光标
DECLARE cur_name CURSOR FOR select_statement
--open光标
OPEN cursor_name
--FETCH 光标
FETCH cursor_name INTO var_name [,var_name....]
--close光标
CLOSE cursor_name
举例说明:
delimiter $$ --将;结束符改变为$$
--创建存储过程
CREATE PROCEDURE payment_amount()
BEGIN
---声明变量
DECLARE i_staff_id int;
DECLARE d_amount decimal(5,2);
---声明一个光标,获取表payment里的staff_id,amount列的值。
DECLARE cur_payment cursor for select staff_id,amount from payment;
---条件处理,判断循环结束的条件是 捕获NOT FOUND条件。
---当fecth 找不到下一条记录时,就会关闭光标,退出过程。
DECLARE EXIT HANDLER FOR NOT FOUND CLOSE cur_payment;
set @x1 = 0;
set @x2 = 0;
----打开光标
OPEN cur_payment;
REPEAT
FETCH cur_payment INTO i_staff_id,d_amount;
if i_staff_id = 2 then
set @x1 = @x1 + d_amount;
else
set @x2 = @x2 + d_amount;
end if;
UNTIL 0 END REPEAT;
CLOSE cur_payment;
END;
$$
delimiter ;
DECLARE定义是有顺序的:变量和条件必须放在前面、然后是光标的声明、最后才可以是 处理程序的声明。
分享到:
相关推荐
### MySQL Workbench 使用教程知识点详解 #### 一、MySQL Workbench 概述 - **定义与功能**: - **MySQL Workbench**是一款由Oracle公司提供的免费、跨平台的图形化MySQL数据库管理工具。 - **特点**:提供了...
### MySQL中文使用手册知识点概览 #### 1. MySQL 的基本信息 **1.1 什么是 MySQL?** - MySQL 是一款关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。 - 主要用于存储、检索数据...
《高性能MySQL第四版》是MySQL领域的一本经典著作,由Silvia Botros和Jeremy Tinley共同撰写,并由Jeremy Cole作序。这本书自初次发行以来,已经伴随MySQL社区走过了17年,见证了MySQL的不断进化和发展。随着技术的...
MySQL.Data.dll是MySQL数据库连接器的一个重要组成部分,主要用于.NET应用程序与MySQL服务器之间的数据交互。这个动态链接库(DLL)文件提供了丰富的API,使得开发者能够轻松地在C#、VB.NET或其他支持.NET Framework...
MySql使用手册MySql使用手册MySql使用手册MySql使用手册MySql使用手册MySql使用手册MySql使用手册MySql使用手册MySql使用手册MySql使用手册MySql使用手册MySql使用手册MySql使用手册MySql使用手册MySql使用手册MySql...
│ 第十四课MySQL8.0高可用架构之Atlas.pdf │ 第十课MySQL8.0锁机制和事务.pdf │ 第十课MySQL锁机制和事务.pdf │ 第四课SQL基础语法.pdf │ ├─新版MySQL DBA综合实战班 第01天 │ 0_MySQL高级DBA公开课视频....
基于Flink CDC使用datastream方式全量增量同步mysql to mysql 使用的是java语言,只需配置完源数据库和目标数据库信息,运行MysqlCDC中的main函数,即可实现多库多表同步。
这份文档详尽地涵盖了MySQL数据库系统的各个方面,包括安装、配置、使用、管理和优化等核心主题。对于任何在MySQL 5.1环境下工作的IT专业人士来说,它都是一份不可或缺的学习和查询工具。 首先,手册的“安装”部分...
在C#编程环境中,连接MySQL数据库通常依赖于特定的数据提供者,这就是MySql.Data.dll和MySql.Web.dll的角色。这两个动态链接库(DLL)文件是MySQL官方提供的.NET数据访问组件,使得C#开发者能够轻松地与MySQL服务器...
第一课数据库介绍篇.pdf 第七课MySQL数据库设计.pdf 第三十一课percona-toolkits ... 第十四课MySQL8.0高可用架构之Atlas.pdf 第十课MySQL8.0锁机制和事务.pdf 第十课MySQL锁机制和事务.pdf 第四课SQL基础语法.pdf
MySQL是一种广泛使用的开源关系型数据库管理系统,其命令行界面提供了丰富的功能,对于初学者来说,掌握一些基本的MySQL语句是非常必要的。这篇文章将带你了解如何连接MySQL、修改密码以及增加新用户。 首先,连接...
3 MySQL的许可证和技术支持 3.1 MySQL的许可证政策 3.2 MySQL 使用的版权 3.2.1 可能的未来版权改变 3.3 MySQL商业性分发 3.4 许可证实例 3.4.1 销售使用 MySQL的产品 3.4.2 销售...
本教程将详细讲解MySQL Administrator的使用方法,帮助初学者快速上手。 首先,我们来了解MySQL Administrator的主要功能。它包含了数据库备份、性能监控、用户管理、日志查看以及配置编辑等核心模块。通过这些功能...
使用mysql odbc后就比较好办,可以使用sql server的管理工具,也可以使用mysql的管理工具,更可以使用其它方的管理工具。这里介绍一个使用sql的mmc的方法 ,将sql server的数据转化为mysql的数据库,将源和目的反之...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,而JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口。本文将深入探讨Mysql5.6和Mysql5.7的JDBC驱动,以及如何使用`mysql-connector-java-...
四、新建MySQL用户和组 新建一个名为mysql的组和用户,并将其设为 MySQL 的所有者。 五、修改目录属有者 修改/usr/local/mysql目录和/data/mysql目录的属有者为mysql用户和组。 六、配置参数 使用mysqld --...
### UniDAC delphi2010使用教程之MySQL连接 #### 一、UniDAC简介与安装 UniDAC(Universal Data Access Components)是一款用于快速开发基于Delphi和C++Builder的应用程序的数据访问组件集。它提供了对多种数据库...
MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),它在各种规模的企业和项目中扮演着核心角色。MySQL 8.0版本带来了许多性能提升、安全性改进以及新的功能,比如窗口函数和JSON字段的增强。 首先,我们...
MySQL 5.7 提供了多种安装方式,包括使用通用二进制文件、使用 MySQL Yum Repository、使用 MySQL APT 存储库等。用户可以根据自己的需求选择合适的安装方式。 在安装 MySQL 之前,需要先确定要安装哪个 MySQL 版本...
总结来说,MySQL ODBC 5.1 Driver免安装版为用户提供了简单易用且高效的途径来访问MySQL数据库,尤其适合那些需要快速部署和移动工作的环境。通过了解ODBC工作原理和驱动的设置方法,用户可以更有效地利用这个工具...