数码资讯
基于mysql游标的具体用法详解
测试表级; 复制代码代码如下所示: 创建表test.level(name varchar(20)); 更多插入数据; 代码 初始化 复制代码代码如下所示: 如果程序存在 / / usecursor滴 设置存储过程创建 复制代码代码如下所示: 创建程序usecursor() 开始 局部变量的定义声明
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
测试表级;
复制代码代码如下所示:
创建表test.level(name varchar(20));
更多插入数据;
代码
初始化
复制代码代码如下所示:
如果程序存在 / / usecursor滴
设置存储过程创建
复制代码代码如下所示:
创建程序usecursor()
开始
局部变量的定义声明
复制代码代码如下所示:
声明tmpname varchar(20)违约;
声明allname varchar(255)违约;
声明cur1光标选择的名字从test.level;
异常后捕获mysql游标
并设置循环使用可变tmpname跳出循环空。
复制代码代码如下所示:
声明继续tmpname = null处理'02000'set SQLSTATE;
打开游标
复制代码代码如下所示:
打开cur1;
光标向下移动一步。
复制代码代码如下所示:
取cur1为tmpname;
循环体显然添加并使用mysql游标查询的名称;该号码被分隔。
复制代码代码如下所示:
(tmpname而不为空)做
集tmpname = concat(tmpname,;);
集allname = concat(allname,tmpname);
光标向下移动一步。
复制代码代码如下所示:
取cur1为tmpname;
结束循环体:
复制代码代码如下所示:
结束的时候;
关闭游标
复制代码代码如下所示:
近cur1;
Select data
复制代码代码如下所示:
选择allname;
结束存储过程
复制代码代码如下所示:
结束;
调用存储过程:
复制代码代码如下所示:
电话(usecursor) / /
运行结果:
复制代码代码如下所示:
MySQL >呼叫(usecursor) / /
-------------------------------------- + +
| allname |
-------------------------------------- + +
| F1;C3;C6;C5;C2;C4;C1;F1;F2 F3 F4 F5;;;;|
-------------------------------------- + +
1行集(0秒)
循环游标:
复制代码代码如下所示:
$分隔符
如果出口下降过程cursor_example美元
创建程序cursor_example()
读取SQL数据
开始
声明l_employee_id int;
声明l_salary数值(8,2);
声明l_department_id int;
声明默认值为0;
声明cur1光标选择employee_id,department_id员工工资;
声明未找到的已完成集= 1的继续处理程序;
打开cur1;
emp_loop:环
取cur1为l_employee_id,l_salary,l_department_id;
如果做= 1然后
离开emp_loop;
END IF;
循环结束emp_loop;
近cur1;
结束美元
分隔符;
重复循环游标:
复制代码代码如下所示:
创建过程的过程*
分隔符
如果存在测试,则删除过程
创建过程测试()
开始
声明默认值为0;
声明一个varchar(200)违约;
宣布C varchar(200)违约;
声明游标光标选择fusername从uchome_friend;
声明未找到的已完成集= 1的继续处理程序;
打开游标;
重复
把游标到;
如果不这样做
C = concat(C,A); / * * /串在一起
如果结束;
直到完成结束重复;
关闭游标;
选择C;
结束
分隔符;
复制代码代码如下所示:
创建过程的过程*
分隔符
如果存在测试,则删除过程
创建过程测试()
开始
声明默认值为0;
DECLARE a VARCHAR (200) DEFAULT '';
宣布C varchar(200)违约;
声明游标光标选择fusername从uchome_friend;
声明未找到的已完成集= 1的继续处理程序;
打开游标;
重复
把游标到;
如果不这样做
C = concat(C,A); / * * /串在一起
最后如果;
直到完成结束重复;
关闭游标;
选择C;
结束
分隔符;
复制代码代码如下所示:
创建表test.level(name varchar(20));
更多插入数据;
代码
初始化
复制代码代码如下所示:
如果程序存在 / / usecursor滴
设置存储过程创建
复制代码代码如下所示:
创建程序usecursor()
开始
局部变量的定义声明
复制代码代码如下所示:
声明tmpname varchar(20)违约;
声明allname varchar(255)违约;
声明cur1光标选择的名字从test.level;
异常后捕获mysql游标
并设置循环使用可变tmpname跳出循环空。
复制代码代码如下所示:
声明继续tmpname = null处理'02000'set SQLSTATE;
打开游标
复制代码代码如下所示:
打开cur1;
光标向下移动一步。
复制代码代码如下所示:
取cur1为tmpname;
循环体显然添加并使用mysql游标查询的名称;该号码被分隔。
复制代码代码如下所示:
(tmpname而不为空)做
集tmpname = concat(tmpname,;);
集allname = concat(allname,tmpname);
光标向下移动一步。
复制代码代码如下所示:
取cur1为tmpname;
结束循环体:
复制代码代码如下所示:
结束的时候;
关闭游标
复制代码代码如下所示:
近cur1;
Select data
复制代码代码如下所示:
选择allname;
结束存储过程
复制代码代码如下所示:
结束;
调用存储过程:
复制代码代码如下所示:
电话(usecursor) / /
运行结果:
复制代码代码如下所示:
MySQL >呼叫(usecursor) / /
-------------------------------------- + +
| allname |
-------------------------------------- + +
| F1;C3;C6;C5;C2;C4;C1;F1;F2 F3 F4 F5;;;;|
-------------------------------------- + +
1行集(0秒)
循环游标:
复制代码代码如下所示:
$分隔符
如果出口下降过程cursor_example美元
创建程序cursor_example()
读取SQL数据
开始
声明l_employee_id int;
声明l_salary数值(8,2);
声明l_department_id int;
声明默认值为0;
声明cur1光标选择employee_id,department_id员工工资;
声明未找到的已完成集= 1的继续处理程序;
打开cur1;
emp_loop:环
取cur1为l_employee_id,l_salary,l_department_id;
如果做= 1然后
离开emp_loop;
END IF;
循环结束emp_loop;
近cur1;
结束美元
分隔符;
重复循环游标:
复制代码代码如下所示:
创建过程的过程*
分隔符
如果存在测试,则删除过程
创建过程测试()
开始
声明默认值为0;
声明一个varchar(200)违约;
宣布C varchar(200)违约;
声明游标光标选择fusername从uchome_friend;
声明未找到的已完成集= 1的继续处理程序;
打开游标;
重复
把游标到;
如果不这样做
C = concat(C,A); / * * /串在一起
如果结束;
直到完成结束重复;
关闭游标;
选择C;
结束
分隔符;
复制代码代码如下所示:
创建过程的过程*
分隔符
如果存在测试,则删除过程
创建过程测试()
开始
声明默认值为0;
DECLARE a VARCHAR (200) DEFAULT '';
宣布C varchar(200)违约;
声明游标光标选择fusername从uchome_friend;
声明未找到的已完成集= 1的继续处理程序;
打开游标;
重复
把游标到;
如果不这样做
C = concat(C,A); / * * /串在一起
最后如果;
直到完成结束重复;
关闭游标;
选择C;
结束
分隔符;
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。