`

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中文使用手册

    ### 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...

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

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

    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公开课视频....

    mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册

    mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册mysql手册...

    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服务器...

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

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

    最新版MySQL DBA全套教程.rar

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

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

    MySQL是一种广泛使用的开源关系型数据库管理系统,其命令行界面提供了丰富的功能,对于初学者来说,掌握一些基本的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 Administrator的主要功能。它包含了数据库备份、性能监控、用户管理、日志查看以及配置编辑等核心模块。通过这些功能...

    利用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-...

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

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

    Mysql 5.1.7 JDBC驱动包

    MySQL JDBC驱动主要有四个部分,分别是Type 1、Type 2、Type 3和Type 4: 1. Type 1:纯Java驱动,依赖于ODBC桥,性能较低。 2. Type 2:混合型驱动,一部分是Java代码,另一部分是本地库,如JNI,减少了网络通信,...

    MySQL Workbench使用手册

    ### MySQL Workbench 使用手册知识点详解 #### 一、概述与版本信息 - **产品简介**:MySQL Workbench 是一款由 MySQL 官方提供的图形化工具,用于管理 MySQL 数据库。它支持 Windows、OSX 和 Linux 平台,并分为...

Global site tag (gtag.js) - Google Analytics