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内嵌游标的使用示例相关推荐

  1. oracle+数据到+mysql数据库乱码_oracle数据mysql数据库乱码

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  2. oracle mysql迁移方案_Oracle/云MySQL/MsSQL“大迁移”真相及最优方案

    最近一段时间碰到一些数据迁移的项目,如:Oracle迁移到MySQL,MsSQL迁移到MySQL,云MySQL迁移到本地MySQL.对于这方面做了系统的整理.包括:迁移方案的选择.如何跳出迁移遇到的坑 ...

  3. mysql 时间段天数_ORACLE任意时间段内所有天数日期查询

    ORACLE任意时间段内所有天数查询,没必要借助什么all_objects 无 /* 查询2013-11-25至2014-12-28内所有日期天数 */select date '2013-11-25' ...

  4. mysql server驱动_oracle、mysql、sql server等;流行数据库的链接驱动配置

    系统的写博客的时间不多,但是还想一直写来坚持,就没事写写积累下来的知识点吧 #ORACLE #jdbc.driver=oracle.jdbc.driver.OracleDriver #jdbc.url ...

  5. mysql sysdate本周_oracle 、mysql 取昨天 前天 本周 数据

    查询今天数据: SELECT COUNT(1) FROM T_CALL_RECORDS WHERE TO_CHAR(T_RKSJ,'YYYY-MM-DD')=TO_CHAR(SYSDATE,'YYYY ...

  6. mysql 客户端 交叉编译_移植mysql到嵌入式ARM平台

    移植MySQL到嵌入式ARM平台 MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档: http://blog.chinaunix.net/space.ph ...

  7. 移植mysql到嵌入式ARM平台

    移植MySQL到嵌入式ARM平台    MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档: http://blog.chinaunix.net/space ...

  8. 更改span标签样式_CSS 内嵌样式

    前面一节我们讲了行内样式,但是行内样式的缺点就是样式不能重用.例如当有好多个 标签,我们希望所有的 标签的样式都一致,那么需要在每个标签中都写一遍,这么会很麻烦,也会增加很多代码. 那么为了解决这个问 ...

  9. Go语言学习 二十一 内嵌

    本文最初发表在我的个人博客,查看原文,获得更好的阅读体验 在像Java这种语言中,有子类(或者继承)的概念,通过继承复用已有的功能或属性,与继承不同,Go中使用组合的方式来完成已有实现的复用,这种做法 ...

最新文章

  1. Win32中GDI+应用(三)---Graphics类
  2. Datatable Initialization - 使用objects数据源初始化
  3. 如何在Hibernate Search 5.5.2 / Apache Lucene 5.4.x中处理停用词?
  4. TCP/IP协议--ARP协议(有了IP地址为什么还需要ARP协议)
  5. 电脑连接virtualbox虚拟机的方法
  6. cocos2d-x系列 Mac下配置cocos2d-x开发环境(android和ios)
  7. 新建samba配置步骤
  8. 常见的html字体,网页设计中最常用的字体有哪些
  9. 激活Window和office工具
  10. 线性回归2——正则化(含代码)
  11. 太实用了!这几个Python数据可视化案例!
  12. 智能陈桥输入法软件测试,智能陈桥拼音输入法
  13. 【房价预测】BP神经网络回归的现实应用-上海市二手房价格影响因素分析——思路剖析和结果分享
  14. [学习报告]《LeetCode零基础指南》(第五讲) 指针-gyro
  15. 微信小程序开发---微信获取微信绑定手机号并登录流程
  16. 如何批量抠图换背景?这两个方法可以做到
  17. 那位仁兄或者仁姐能给小弟一个菊花论坛的邀请码
  18. Unity 像机抖动效果
  19. mapbox 绘制路线并展示路线长度
  20. 2021-09-29 Unity WebGL平台开发遇到的坑

热门文章

  1. 深度学习核心技术精讲100篇(六十三)-【CNN】一文详细讲解前因后果
  2. 如何利用弹幕,打造出非凡的观看体验
  3. Tableau系列之构建和浏览数据视图
  4. Hadoop学习之MapReduce(五)
  5. Python入门100题 | 第062题
  6. 机器学习第11天:朴素贝叶斯模型 - 垃圾短信识别
  7. 【图像处理opencv】_图像基础
  8. 【python进阶】_正则表达式
  9. ARCGIS10.1 插值分析结果按指定多边形输出
  10. lucene源码分析(5)lucence-group