广告
返回顶部
首页 > 资讯 > 数据库 >mysql 存储过程中双重循环嵌套的应用
  • 961
分享到

mysql 存储过程中双重循环嵌套的应用

mysql存储过程中双重循环嵌套的应用 2021-05-21 20:05:38 961人浏览 绘本
摘要

话不多直接上代码,注释很详细,下面代码确认运行无误,自己去感悟吧朋友 CREATE PROCEDURE SYC_FILE_DOC_INFO() BEGIN DECLARE A_PK_FILEDOC

mysql 存储过程中双重循环嵌套的应用

话不多直接上代码,注释很详细,下面代码确认运行无误,自己去感悟吧朋友

CREATE PROCEDURE SYC_FILE_DOC_INFO()
BEGIN    
    DECLARE A_PK_FILEDOC         char(24);
    DECLARE A_PK_CORP            char(6);
    DECLARE A_VCODE              varchar(30) DEFAULT "" ;
    DECLARE A_VNAME              varchar(100) DEFAULT "" ;
    DECLARE A_VMEMO              varchar(200) DEFAULT "" ;
    DECLARE A_ISSEALED           char(1);
    DECLARE A_DR                 numeric(8,0) DEFAULT 0;
    DECLARE A_TS                 TIMESTAMP;
    DECLARE A_ISLEAF             char(1);
    DECLARE A_FILELEVEL          numeric(8,0) DEFAULT 0;
    DECLARE A_IFILETYPE          numeric(8,0) DEFAULT 0;
    DECLARE B_PK_CORP            char(6);
    -- 定义结束标识
    DECLARE done INT DEFAULT 0;
    DECLARE edone INT DEFAULT 0;
    BEGIN
        -- 定义游标v_kf_datas以及结束标识
        DECLARE v_kf_datas CURSOR FOR Select distinct pk_corp From ynt_kfiledoc y Where ifnull(dr,0) = 0;
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;-- 结束标识
        OPEN v_kf_datas;-- 打开游标
            vkfdatasLoop:LOOP -- 循环游标开始
                FETCH v_kf_datas INTO B_PK_CORP;
                IF done = 1 THEN
                    LEAVE vkfdatasLoop;#跳出循环
                ELSE
                SET edone = 0;-- !!!!!重置标识
                    BEGIN
                        -- 定义游标v_file_data以及结束标识
                        DECLARE v_file_data CURSOR FOR Select * From ynt_filedoc y Where y.pk_corp = "000001" and y.vcode like "99%";
                        DECLARE CONTINUE HANDLER FOR NOT FOUND SET edone = 1;#结束标识
                        OPEN v_file_data;-- 打开游标
                            vfiledataLoop:LOOP -- 循环游标开始
                                FETCH v_file_data INTO A_PK_FILEDOC,A_PK_CORP,A_VCODE,A_VNAME,A_VMEMO,A_ISSEALED,A_DR,A_TS,A_ISLEAF,A_FILELEVEL,A_IFILETYPE;
                                IF edone = 1 THEN
                                    LEAVE vfiledataLoop;
                                ELSE
                                    -- 对表的操作
                                    insert into ynt_kfiledoc(pk_kfiledoc, pk_corp, pk_source, vcode, vname, vmemo, issealed, dr, ts, isleaf, filelevel, ifiletype)
                                    values(CONCAT(B_PK_CORP,substring(A_PK_FILEDOC,7, 12),fn_get_random_str(6)),B_PK_CORP, A_PK_FILEDOC, A_VCODE, A_VNAME, A_VMEMO, A_ISSEALED, 0, A_TS, A_ISLEAF, A_FILELEVEL, A_IFILETYPE);
                                END IF;
                            END LOOP;
                        CLOSE v_file_data;-- 关闭游标
                    END;
                END IF;
            END LOOP; -- 结束游标
        CLOSE v_kf_datas;-- 关闭游标
        COMMIT;
    END;
END;

 

您可能感兴趣的文档:

--结束END--

本文标题: mysql 存储过程中双重循环嵌套的应用

本文链接: https://www.lsjlt.com/news/6034.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • mysql 存储过程中双重循环嵌套的应用
    话不多直接上代码,注释很详细,下面代码确认运行无误,自己去感悟吧朋友 CREATE PROCEDURE SYC_FILE_DOC_INFO() BEGIN DECLARE A_PK_FILEDOC ...
    99+
    2021-05-21
    mysql 存储过程中双重循环嵌套的应用
  • MySql存储过程循环使用的方法
    今天小编给大家分享一下MySql存储过程循环使用的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。场景描述我们举一个简单的...
    99+
    2023-07-02
  • MYSQL存储过程开发中怎么使用游标嵌套
    本篇内容介绍了“MYSQL存储过程开发中怎么使用游标嵌套”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在实...
    99+
    2022-10-18
  • 在MySQL存储过程中怎么使用if嵌套语句
    本篇内容主要讲解“在MySQL存储过程中怎么使用if嵌套语句”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在MySQL存储过程中怎么使用if嵌套语句”吧! ...
    99+
    2023-04-19
    mysql if
  • mysql存储过程中的循环语句怎么写
    今天小编给大家分享一下mysql存储过程中的循环语句怎么写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起...
    99+
    2022-10-19
  • MySql存储过程循环的使用分析详解
    目录简介场景描述解决方案案例总结简介 每一门数据库语言语法都基本相似,但是对于他们各自的一些特性(函数、存储过程等)的用法就不大相同了,就好比Oracle与mysql存储过程写起来就很多不同的地方,在这里主要是跟大家分享...
    99+
    2022-06-29
    MySql存储循环使用 MySql存储循环
  • MySQL REPEAT循环语句如何在存储过程中使用?
    众所周知,MySQL 为我们提供了循环语句,允许我们根据条件重复执行 SQL 代码块。 REPEAT循环语句就是此类循环语句之一。其语法如下 -REPEAT statements; UNTIL expression END REPEA...
    99+
    2023-10-22
  • Mysql 存储过程中使用游标循环读取临时表
    游标 游标(Cursor)是用于查看或者处理结果集中的数据的一种方法。游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。 游标的使用方式 定义游标:Declare 游标名称 CURSOR for ta...
    99+
    2022-06-01
    MySQL 游标 MySQL 读取临时表
  • 如何在mysql存储过程中使用WHILE,REPEAT和LOOP循环语句
    这篇文章将为大家详细讲解有关如何在mysql存储过程中使用WHILE,REPEAT和LOOP循环语句,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。MySQL...
    99+
    2022-10-18
  • 第62讲:MySQL存储过程中变量的定义及应用
    文章目录 1.系统变量1.1.查看系统变量的语法格式1.2.设置系统变量值的语法格式1.3.系统变量使用案例 2.用户自定义的变量2.1.用户自定义变量的语法格式2.2.用户自定义变量的案例 3.可以在存储过程中定义的局...
    99+
    2023-08-16
    mysql 数据库 服务器 原力计划
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作