我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle与MySQL内嵌游标的使用示例

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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; --删除

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle与MySQL内嵌游标的使用示例

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL游标的介绍与使用

目录定义游标的作用游标的使用游标语法条件处理创建表-test1-test2-test3测试游标过程解析定义游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行遍历数据的能力。游标也是一种
2022-12-16

MySQL 游标的作用与使用相关

定义我们经常会遇到这样的一种情况,需要对我们查询的结果进行遍历操作,并对遍历到的每一条数据进行处理,这时候就会使用到游标。 所以:游标(Cursor)是处理数据的一种存储在MySQL服务器上的数据库查询方法,为了查看或者处理结果集中的数据,
2022-05-18

MySQL 游标的定义与使用方式

创建游标首先在MySql中创建一张数据表:CREATE TABLE IF NOT EXISTS `store` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) NOT NUL
2022-05-25

mysql游标的原理与用法实例分析

本文实例讲述了mysql游标的原理与用法。分享给大家供大家参考,具体如下: 本文内容:什么是游标创建游标使用游标首发日期:2018-04-18什么是游标:如果你前面看过mysql函数,会发现无法使用返回多行结果的语句。但如果你又确实想要使用
2022-05-12

MySQL中query_cache_type参数与使用的示例分析

这篇文章主要为大家展示了“MySQL中query_cache_type参数与使用的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中query_cache_type参数与使用的示
2023-06-20

Kotlin示例讲解标准函数with与run和apply的使用

Kotlin的标准函数是指Standard.kt文件中定义的函数,任何Kotlin代码都可以自由地调用所有的标准函数。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
2022-11-13

php+mysql实现的无限分类方法类定义与使用示例

本文实例讲述了php+mysql实现的无限分类方法类定义与使用。分享给大家供大家参考,具体如下: 创建数据库以及表CREATE DATABASE `sortclass`DEFAULT CHARSET utf8;CREATE TABLE IF
2022-05-23

编程热搜

目录