create table test.
level (name varchar(20));
再 insert 些数据 ;
<!-- <br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
/*
初始化
*/
drop
procedure
if
exists
useCursor
//
/*
建立 存储过程 create
*/
CREATE
PROCEDURE
useCursor()
BEGIN
/*
局部变量的定义 declare
*/
declare
tmpName
varchar
(
20
)
default
''
;
declare
allName
varchar
(
255
)
default
''
;
declare
cur1
CURSOR
FOR
SELECT
name
FROM
test.
level
;
/*
mysql 不知道为什么用异常加入判断 ?
* 此请参考官方文档
20.2.11.
光标
光标
* 这把 游标 异常后 捕捉
* 并设置 循环使用 变量 tmpname 为 null 跳出循环。
*/
declare
CONTINUE
HANDLER
FOR
SQLSTATE
'
02000
'
SET
tmpname
=
null
;
/*
开游标
*/
OPEN
cur1;
/*
游标向下走一步
*/
FETCH
cur1
INTO
tmpName;
/*
循环体 这很明显 把游标查询出的 name 都加起并用 ; 号隔开
*/
WHILE
( tmpname
is
not
null
) DO
set
tmpName
=
CONCAT(tmpName ,";") ;
set
allName
=
CONCAT(allName ,tmpName) ;
/*
游标向下走一步
*/
FETCH
cur1
INTO
tmpName;
END
WHILE
;
CLOSE
cur1;
select
allName ;
END
;
//
call useCursor()
//
运行结果:
<!-- <br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->mysql
>
call useCursor()
//
+
--
------------------------------------+
|
allName
|
+
--
------------------------------------+
|
f1;c3;c6;c5;c2;c4;c1;f1;f3;f4;f2;f5;
|
+
--
------------------------------------+
1
row
in
set
(
0.00
sec)
分享到:
相关推荐
Mysql游标(循环操作)
mysql游标使用的整个过程为: 1.创建游标 代码如下:DECLARE calc_bonus CURSOR FOR SELECT id, salary, commission FROM employees; 2.打开游标 代码如下:OPEN calc_bonus; 3.使用游标 代码如下:FETCH calc_bonus ...
带游标的mysql存储过程例子。
MySql存储过程,游标的使用方法,速度极快!
Mysql从5.0开始支持存储过程和trigger,游标在递归树结构中非常好用
NULL 博文链接:https://fangyong2006.iteye.com/blog/768291
[mysql游标的用法及作用] 例子: 当前有三张表A、B、C其中A和B是一对多关系,B和C是一对多关系,现在需要将B中A表的主键存到C中; 常规思路就是将B中查询出来然后通过一个update语句来更新C表就可以了,但是B表中有...
NULL 博文链接:https://yuhuiblog695685688425687986842568269.iteye.com/blog/2424995
本文实例讲述了mysql游标的原理与用法。分享给大家供大家参考,具体如下: 本文内容: 什么是游标 创建游标 使用游标 首发日期:2018-04-18 什么是游标: 如果你前面看过mysql函数,会发现无法使用返回多行...
本文实例讲述了MySQL游标概念与用法。分享给大家供大家参考,具体如下: 1、游标的概念(Cursor) 一条sql,对应N条资源,取出资源的接口,就是游标,沿着游标,可以一次取出1行。如果开发过安卓的同学应该知道有一...
Mysql存储过程游标触发器
mysql游标嵌套[文].pdf
关于游标的用法Mysql现在提供的还很特别,虽然使用起来没有PL/SQL那么顺手,不过使用上大致上还是一样, 定义游标 declare fetchSeqCursor cursor for select seqname, value from sys_sequence; 使用游标 open ...
在MySQL当中的游标其实和java中的iterator迭代器这种类型类似,都是一个集合,然后通过循环遍历,游标现在是用来处理结果集的,首先要设置一个游标的结束
详细讲解了mysql中游标的使用方法,希望能对各位有所帮助。