mysql游标嵌入式_Oracle与MySQL内嵌游标的使用示例
Oracle 游标用For循环比较简单,MySQL也是最近才开始用,感觉稍微麻烦一点,下边直接上代码:
-----------------------------------------------------------
-- Oracle
-- 内嵌游标为带参游标,参数为外游标值
-----------------------------------------------------------
DECLARE
cursor cur_outer is select dept_id from tbl_test_dept;
cursor cur_inner(deptid varchar2) is (SELECT user_id FROM tbl_test_user WHERE dept_id=deptid);
BEGIN
FOR DEPT_ITEM IN cur_outer LOOP
--
--
FOR KEY_ITEM IN cur_process(DEPT_ITEM.DEPT_ID) LOOP --开始内循环
--
--
END LOOP;
END LOOP;
commit;
END;
------------------------------
-- Mysql
-- HANDLER 只能申明一个
-- 内循环结束后需要重置done
-- 发现mysql不能直接执行begin..end,需要创建存储过程后调用执行;
------------------------------
CREATE PROCEDURE `PROC_CURSOR_TEST`()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE item_outer VARCHAR(50);outer
DECLARE item_inner VARCHAR(50);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-- 定义内外游标
DECLARE cur_outer cursor for select dept_id from tbl_test_dept;
DECLARE cur_inner cursor for (SELECT user_id FROM tbl_test_user WHERE dept_id=item_outer);-- 查询条件可直接用外游标变量值
OPEN cur_outer;
out_loop: LOOP
fetch cur_outer into item_outer;
IF done THEN -- 判断是否继续循环
LEAVE out_loop;
END IF;
--
--
OPEN cur_process; -- 打开内嵌游标
inner_loop: LOOP
fetch cur_inner into item_inner;
IF done THEN
LEAVE inner_loop;
END IF;
--
--
end loop;
CLOSE cur_inner;
SET done = 0; -- 关闭内游标,重置done
end loop;
CLOSE cur_outer;
commit;
END;
call PROC_CURSOR_TEST(); -- 调用存储过程
drop procedure PROC_CURSOR_TEST; --删除
mysql游标嵌入式_Oracle与MySQL内嵌游标的使用示例相关推荐
- oracle+数据到+mysql数据库乱码_oracle数据mysql数据库乱码
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- oracle mysql迁移方案_Oracle/云MySQL/MsSQL“大迁移”真相及最优方案
最近一段时间碰到一些数据迁移的项目,如:Oracle迁移到MySQL,MsSQL迁移到MySQL,云MySQL迁移到本地MySQL.对于这方面做了系统的整理.包括:迁移方案的选择.如何跳出迁移遇到的坑 ...
- mysql 时间段天数_ORACLE任意时间段内所有天数日期查询
ORACLE任意时间段内所有天数查询,没必要借助什么all_objects 无 /* 查询2013-11-25至2014-12-28内所有日期天数 */select date '2013-11-25' ...
- mysql server驱动_oracle、mysql、sql server等;流行数据库的链接驱动配置
系统的写博客的时间不多,但是还想一直写来坚持,就没事写写积累下来的知识点吧 #ORACLE #jdbc.driver=oracle.jdbc.driver.OracleDriver #jdbc.url ...
- mysql sysdate本周_oracle 、mysql 取昨天 前天 本周 数据
查询今天数据: SELECT COUNT(1) FROM T_CALL_RECORDS WHERE TO_CHAR(T_RKSJ,'YYYY-MM-DD')=TO_CHAR(SYSDATE,'YYYY ...
- mysql 客户端 交叉编译_移植mysql到嵌入式ARM平台
移植MySQL到嵌入式ARM平台 MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档: http://blog.chinaunix.net/space.ph ...
- 移植mysql到嵌入式ARM平台
移植MySQL到嵌入式ARM平台 MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档: http://blog.chinaunix.net/space ...
- 更改span标签样式_CSS 内嵌样式
前面一节我们讲了行内样式,但是行内样式的缺点就是样式不能重用.例如当有好多个 标签,我们希望所有的 标签的样式都一致,那么需要在每个标签中都写一遍,这么会很麻烦,也会增加很多代码. 那么为了解决这个问 ...
- Go语言学习 二十一 内嵌
本文最初发表在我的个人博客,查看原文,获得更好的阅读体验 在像Java这种语言中,有子类(或者继承)的概念,通过继承复用已有的功能或属性,与继承不同,Go中使用组合的方式来完成已有实现的复用,这种做法 ...
最新文章
- Win32中GDI+应用(三)---Graphics类
- Datatable Initialization - 使用objects数据源初始化
- 如何在Hibernate Search 5.5.2 / Apache Lucene 5.4.x中处理停用词?
- TCP/IP协议--ARP协议(有了IP地址为什么还需要ARP协议)
- 电脑连接virtualbox虚拟机的方法
- cocos2d-x系列 Mac下配置cocos2d-x开发环境(android和ios)
- 新建samba配置步骤
- 常见的html字体,网页设计中最常用的字体有哪些
- 激活Window和office工具
- 线性回归2——正则化(含代码)
- 太实用了!这几个Python数据可视化案例!
- 智能陈桥输入法软件测试,智能陈桥拼音输入法
- 【房价预测】BP神经网络回归的现实应用-上海市二手房价格影响因素分析——思路剖析和结果分享
- [学习报告]《LeetCode零基础指南》(第五讲) 指针-gyro
- 微信小程序开发---微信获取微信绑定手机号并登录流程
- 如何批量抠图换背景?这两个方法可以做到
- 那位仁兄或者仁姐能给小弟一个菊花论坛的邀请码
- Unity 像机抖动效果
- mapbox 绘制路线并展示路线长度
- 2021-09-29 Unity WebGL平台开发遇到的坑