`

Mysql那些事儿之(十四)光标的使用

阅读更多

在存储过程中可以使用光标对结果集进行循环处理,光标的使用包括光标的声明、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使用教程.pdf

    ### MySQL Workbench 使用教程知识点详解 #### 一、MySQL Workbench 概述 - **定义与功能**: - **MySQL Workbench**是一款由Oracle公司提供的免费、跨平台的图形化MySQL数据库管理工具。 - **特点**:提供了...

    mysql中文使用手册

    ### MySQL中文使用手册知识点概览 #### 1. MySQL 的基本信息 **1.1 什么是 MySQL?** - MySQL 是一款关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。 - 主要用于存储、检索数据...

    高性能mysql 第四版 英文版 PDF下载 [high performance mysql 4th edition PDF]

    《高性能MySQL第四版》是MySQL领域的一本经典著作,由Silvia Botros和Jeremy Tinley共同撰写,并由Jeremy Cole作序。这本书自初次发行以来,已经伴随MySQL社区走过了17年,见证了MySQL的不断进化和发展。随着技术的...

    MySql.Data.dll +使用说明

    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使用手册MySql...

    新版 MySQL DBA 高级视频 基于MySQL 5.7 MySQL 8.0版本.rar

    │ 第十四课MySQL8.0高可用架构之Atlas.pdf │ 第十课MySQL8.0锁机制和事务.pdf │ 第十课MySQL锁机制和事务.pdf │ 第四课SQL基础语法.pdf │ ├─新版MySQL DBA综合实战班 第01天 │ 0_MySQL高级DBA公开课视频....

    基于Flink CDC使用datastream方式全量增量同步mysql to mysql

    基于Flink CDC使用datastream方式全量增量同步mysql to mysql 使用的是java语言,只需配置完源数据库和目标数据库信息,运行MysqlCDC中的main函数,即可实现多库多表同步。

    MySQL5.1中文参考手册完全版.chm

    这份文档详尽地涵盖了MySQL数据库系统的各个方面,包括安装、配置、使用、管理和优化等核心主题。对于任何在MySQL 5.1环境下工作的IT专业人士来说,它都是一份不可或缺的学习和查询工具。 首先,手册的“安装”部分...

    C#连接MySQL需要的MySql.Data.dll,MySql.Web.dll

    在C#编程环境中,连接MySQL数据库通常依赖于特定的数据提供者,这就是MySql.Data.dll和MySql.Web.dll的角色。这两个动态链接库(DLL)文件是MySQL官方提供的.NET数据访问组件,使得C#开发者能够轻松地与MySQL服务器...

    最新版MySQL DBA全套教程.rar

    第一课数据库介绍篇.pdf 第七课MySQL数据库设计.pdf 第三十一课percona-toolkits ... 第十四课MySQL8.0高可用架构之Atlas.pdf 第十课MySQL8.0锁机制和事务.pdf 第十课MySQL锁机制和事务.pdf 第四课SQL基础语法.pdf

    mysql使用技巧了解mysql常用语句浅显易懂

    MySQL是一种广泛使用的开源关系型数据库管理系统,其命令行界面提供了丰富的功能,对于初学者来说,掌握一些基本的MySQL语句是非常必要的。这篇文章将带你了解如何连接MySQL、修改密码以及增加新用户。 首先,连接...

    用于mysql8.0版本的MySql.Data.dll类库,直接引用使用

    用于mysql8.0版本的MySql.Data.dll类库,直接引用使用

    MYSQL

    3 MySQL的许可证和技术支持 3.1 MySQL的许可证政策 3.2 MySQL 使用的版权 3.2.1 可能的未来版权改变 3.3 MySQL商业性分发 3.4 许可证实例 3.4.1 销售使用 MySQL的产品 3.4.2 销售...

    利用MysqlODBC把Sqlserver数据库导入到Mysql中

    使用mysql odbc后就比较好办,可以使用sql server的管理工具,也可以使用mysql的管理工具,更可以使用其它方的管理工具。这里介绍一个使用sql的mmc的方法 ,将sql server的数据转化为mysql的数据库,将源和目的反之...

    Mysql5.6、Mysql5.7 JDBC驱动

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口。本文将深入探讨Mysql5.6和Mysql5.7的JDBC驱动,以及如何使用`mysql-connector-java-...

    Centos6.7系统安装MySQL5.7总结

    四、新建MySQL用户和组 新建一个名为mysql的组和用户,并将其设为 MySQL 的所有者。 五、修改目录属有者 修改/usr/local/mysql目录和/data/mysql目录的属有者为mysql用户和组。 六、配置参数 使用mysqld --...

    UniDAC delphi2010使用教程之MySQL连接

    ### UniDAC delphi2010使用教程之MySQL连接 #### 一、UniDAC简介与安装 UniDAC(Universal Data Access Components)是一款用于快速开发基于Delphi和C++Builder的应用程序的数据访问组件集。它提供了对多种数据库...

    Windows mysql8.0.36.0详细安装教程,附带MySQL安装包

    MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),它在各种规模的企业和项目中扮演着核心角色。MySQL 8.0版本带来了许多性能提升、安全性改进以及新的功能,比如窗口函数和JSON字段的增强。 首先,我们...

    mysql-5.7操作手册(中文版).pdf

    MySQL 5.7 提供了多种安装方式,包括使用通用二进制文件、使用 MySQL Yum Repository、使用 MySQL APT 存储库等。用户可以根据自己的需求选择合适的安装方式。 在安装 MySQL 之前,需要先确定要安装哪个 MySQL 版本...

    MySQL ODBC 5.1 Driver(Mysql驱动免安装版)

    总结来说,MySQL ODBC 5.1 Driver免安装版为用户提供了简单易用且高效的途径来访问MySQL数据库,尤其适合那些需要快速部署和移动工作的环境。通过了解ODBC工作原理和驱动的设置方法,用户可以更有效地利用这个工具...

Global site tag (gtag.js) - Google Analytics