`

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 |  
+----+  

0
3
分享到:
评论

相关推荐

    Mysql游标(循环操作)

    Mysql游标(循环操作)

    MySql游标的使用实例

    mysql游标使用的整个过程为: 1.创建游标 代码如下:DECLARE calc_bonus CURSOR FOR SELECT id, salary, commission FROM employees; 2.打开游标 代码如下:OPEN calc_bonus; 3.使用游标 代码如下:FETCH calc_bonus ...

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

    NULL 博文链接:https://yuhuiblog695685688425687986842568269.iteye.com/blog/2424995

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

    今天分享下自己对于Mysql存储过程的认识与了解,这里主要说说大家常用的游标加循环的嵌套使用

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

    众所周知,MySQL中的游标循环操作常用的有三种,LOOP,REPEAT,WHILE.三种循环,方式大同小异.以前从没用过,所以记下来,方便以后查阅. 1.REPEAT 代码如下: REPEAT  Statements;  UNTIL expression END REPEAT demo ...

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

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

    MySQL游标概念与用法详解

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

    seliencepuppet#mysql#20.mysql游标的创建1

    在MySQL当中的游标其实和java中的iterator迭代器这种类型类似,都是一个集合,然后通过循环遍历,游标现在是用来处理结果集的,首先要设置一个游标的结束

    Mysql存储过程循环内嵌套使用游标示例代码

    本节主要介绍了Mysql存储过程循环内如何嵌套使用游标,详细实现如下,需要的朋友不要错过

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

    给我们喜欢用mysql的朋友们更喜欢mysql的理由了,语法上和PL/SQL有差别,不过搞过编程的人都知道,语法不是问题,关键是思想,大致了解语法后,就从变量定义,循环,判断,游标,异常处理这个几个方面详细学习了。...

    mysql 多个游标依次执行

    mysql存储过程 多个游标循环(依次执行,非嵌套循环)REPEAT循环。有需要的可自行下载。

    sql总结.doc

    1、索引 ·什么是索引 ·索引的基本原理 ·索引的基本写法 ·索引的分类 ... 比如你判断一个班上的同学数学成绩怎么样,你就可能用游标,先把全部的成绩查询到游标中,之后再循环一条条进行判断处理。

    mysql复杂存储过程实例(游标、临时表、循环、递归)

    本资源结合实例实现一个复杂的存储过程,存储过程中有用到游标、临时表、循环、递归等知识,sql文件附有实例数据表创建的sql语句。

    不使用游标完成循环功能(下)

    游标造成的问题有很多,比如延长锁问题,无法缓存执行计划以及加大内存与CPU开销问题等。许多T-SQL程序员和DBA都不知道如何不使用游标而成功记录循环。在本文中,我将分享一些不使用游标而实现循环功能的方法。

    mysql声明游标的方法

    mysql声明游标的方法: 1、声明变量和游标 declare result varchar(3000); declare flag1 varchar(100); DECLARE done INT DEFAULT FALSE; declare cur1 CURSOR FOR SELECT flag from bmlx; 2、变量赋值 DECLARE ...

    mysql存储过程循环表

    一个简单易理解的mysql存储过程 循环表操作 使用游标

Global site tag (gtag.js) - Google Analytics