`

MySQL 游标 循环

 
阅读更多

MySQL游标的使用A simple cursor of mysql

step1:
新建表tb_test;

create table tb_test(
	id int
);

insert into tb_test values ('1');
insert into tb_test values ('2');
insert into tb_test values ('3');

step2:
声明存储过程sp_test;

delimiter $$  
create procedure sp_test()   
BEGIN  
    declare tmp int default 0;
    declare sum int default 0;
    declare done int default -1;
	
	/* 声明游标 */
	declare myCursor cursor for select id from tb_test;
	
	/* 当游标到达尾部时,mysql自动设置done=1 */   
	declare continue handler for not found set done=1;
	
	/* 打开游标 */
	open myCursor;
	
	/* 循环开始 */
	myLoop: LOOP
	
		/* 移动游标并赋值 */
		fetch myCursor into tmp;
		
		if done = 1 then 
		leave myLoop;
		end if;
		
		/* do something */
		set sum = sum + tmp;
	
	/* 循环结束 */
	end loop myLoop;
	
	insert into tb_test values(sum);
	
	/* 关闭游标 */
	close myCursor;
END  
$$  
delimiter ; 

step3:
call sp_test();
select * from tb_test();
+----+  
| id |  
+----+  
|  1 |  
|  2 |  
|  3 |
|  6 |  
+----+  

 

分享到:
评论

相关推荐

    Mysql游标(循环操作)

    ### MySQL游标(循环操作) #### 一、游标简介 在MySQL中,游标是一种数据库对象,主要用于处理存储过程中的结果集。游标允许我们逐行地读取查询结果,这对于需要对每一行数据执行特定操作的情况非常有用。通过...

    mysql游标实现到了最后一个结束之后结束循环

    MySQL游标是数据库管理系统中用于遍历查询结果集的一种机制,尤其在处理大量数据或进行迭代操作时,游标显得尤为重要。这篇博文可能是探讨如何在MySQL中使用游标,特别是当游标执行到最后一行后如何正确地结束循环。...

    MySql游标的使用实例

    MySQL游标是数据库管理系统中的一个重要概念,主要用于在存储过程或函数中逐行处理查询结果集。游标允许程序按需一次处理一行数据,而非一次性获取所有数据,这在处理大量数据时尤其有用,因为它可以避免一次性加载...

    mysql游标详解

    如果需要实现嵌套的游标循环,可以使用 BEGIN 和 END 语句来划分一个statement block,例如: DECLARE fetchSeqOk BOOLEAN; BEGIN DECLARE _seqname VARCHAR(50); DECLARE _value BIGINT(20); DECLARE ...

    mysql游标

    MySQL游标是数据库管理系统中一个重要的概念,它在处理大量数据时非常有用,尤其是在需要逐行处理查询结果的情况下。游标允许程序动态地访问和操作数据集,而不是一次性加载所有结果。在MySQL中,游标主要用于存储...

    MySQL存储过程中游标循环的跳出和继续操作示例

    本篇文章将详细讨论在MySQL存储过程中如何使用游标循环,并特别关注如何进行跳出和继续操作。 首先,游标循环通常有三种基本形式:`LOOP`、`REPEAT`和`WHILE`。每种循环结构都有其特定的语法和用途,但核心思想都是...

    mysql游标存储过程例子

    根据提供的文件信息,本文将详细解释一个MySQL存储过程的例子,其中包含了游标的使用。这个存储过程主要用于处理一批数据,涉及到日期范围内的数据处理、异常处理等。下面将逐一解析存储过程中涉及的重要知识点。 #...

    mysql存储过程 游标 循环使用介绍

    总结来说,MySQL存储过程中的游标和循环机制提供了强大的数据处理能力。通过游标,我们可以逐行处理数据,结合循环结构,能够灵活地实现复杂的数据操作逻辑。在实际应用中,这些工具常用于批量插入、更新、计算统计...

    详解Mysql 游标的用法及其作用

    [mysql游标的用法及作用] 例子: 当前有三张表A、B、C其中A和B是一对多关系,B和C是一对多关系,现在需要将B中A表的主键存到C中; 常规思路就是将B中查询出来然后通过一个update语句来更新C表就可以了,但是B表中有...

    MySQL游标的使用及实现步骤详解

    MySQL游标是一种在数据库存储过程中用于逐行处理查询结果的控制结构。 其主要步骤包括:声明游标以定义所需查询,打开游标以进行初始化,使用FETCH提取每一行数据,并在完成操作后关闭游标以释放资源。 游标通常...

    mysql游标嵌套[文].pdf

    MySQL 游标嵌套实践 本文档旨在介绍 MySQL 游标嵌套的概念和实践,通过对游标的嵌套使用,演示如何实现复杂的数据操作。 一、游标嵌套简介 游标(Cursor)是数据库中的一种控制结构,可以用来遍历查询结果集。...

    MySQL游标:数据库操作的精准定位器

    接着打开游标并进入一个循环,使用 `FETCH` 语句逐行读取数据,直到所有数据都被处理完毕。最后关闭游标。 #### 考虑的因素 虽然游标提供了许多优势,但在使用时仍需考虑以下几个因素: - **性能**:处理大量数据...

    MySQL游标概念与用法详解

    本文实例讲述了MySQL游标概念与用法。分享给大家供大家参考,具体如下: 1、游标的概念(Cursor) 一条sql,对应N条资源,取出资源的接口,就是游标,沿着游标,可以一次取出1行。如果开发过安卓的同学应该知道有一...

    Mysql的游标的定义使用及关闭深入分析

    以上就是MySQL游标的定义、使用和关闭的基本概念以及如何处理游标循环的细节。理解这些概念对于编写涉及复杂数据处理的存储过程至关重要。记住,游标虽然提供了逐行处理数据的能力,但也需要注意性能影响,因为它们...

    mysql游标的原理与用法实例分析

    在游标循环中,可能会遇到没有更多行可提取的情况。为避免报错,可以设置一个处理程序来捕获`NOT FOUND`异常,例如: ```sql DECLARE flag INT DEFAULT 0; DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = 1; ...

Global site tag (gtag.js) - Google Analytics