MySQL存储过程实现表内数据查询结果批量插入[亲测有效]

MySQL存储过程实现表内数据查询结果批量插入[亲测有效]1、场景 为菜单表中所以机构(organization_id唯一标识)课程项目(一级菜单)菜单下新增图书管理子菜单并为所有机构增加该子菜单的绑定关系。具体查询步骤: (1)查询菜单表中有菜单配置的所…

MySQL存储过程实现表内数据查询结果批量插入

1、场景

为菜单表中所以机构(organization_id唯一标识)课程项目(一级菜单)菜单下新增图书管理子菜单并为所有机构增加该子菜单的绑定关系。具体查询步骤:

(1)查询菜单表中有菜单配置的所有机构id;

(2)查询相应机构对于的一级菜单 课程项目 的id;

(3)为所有机构新增图书管理子菜单绑定关系。

2、实现过程

delimiter //  
drop procedure if exists menu_insert;  
create procedure menu_insert()  
begin
    declare organizationId varchar(32);  
    declare flag int default 0;
    
    declare s_list cursor for SELECT organization_id AS “organizationId” FROM menu_info GROUP BY organization_id; 
    
    # 为下面while循环建立一个退出标志,当游标遍历完后将flag的值设置为1
    declare continue handler for not found set flag=1;
    open s_list;
    
        fetch s_list into organizationId;
        while flag <> 1 do
            
            set @org_id = organizationId;
            set @parent_id = (SELECT id FROM menu_info WHERE menu_name = “课程项目” AND organization_id = @org_id) ;
            
            INSERT INTO `menu_info`
                            VALUES
                                (
                                    REPLACE (UUID(), “-“, “”),
                                    @org_id,
                                    @parent_id,
                                    “图书管理”,
                                    “/projectMana/bookList”,
                                    “30”,
                                    6,
                                    NULL,
                                    “0”,
                                    NULL,
                                    NULL,
                                    NULL,
                                    NULL,
                                    NULL,
                                    “0”,
                                    NULL,
                                    NULL
                                );
            
            fetch s_list into organizationId;
        end while;
    close s_list;
end
//
delimiter ;
call menu_insert();

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9441.html

(0)
上一篇 2023-02-08 15:00
下一篇 2023-02-08

相关推荐

  • 使用Pandas遍历数据的方法

    使用Pandas遍历数据的方法Pandas是Python中的一个强大的数据处理库,它提供了快速、灵活、简洁且易于使用的数据结构,使得数据的处理和分析变得更加容易。其中,遍历数据是数据处理的基础之一,本文将介绍如何使用Pandas遍历数据,包括如何遍历数据中每一行、每一列,以及如何修改数据等操作。

    2024-07-31
    35
  • bat文件备份数据库[亲测有效]

    bat文件备份数据库[亲测有效]
    @echo off/*获取当前日期*/ set “Ymd=%date:~,4%%date:~5,2%%date:~8,2%” /*数据库自带的备份脚本的存放…

    2023-04-05
    153
  • hbase load hfile_hbase wal

    hbase load hfile_hbase wal前言: 本文详细介绍了 HBase DependentColumnFilter 过滤器 Java&Shell API 的使用,并贴出了相关示例代码以供参考。DependentColumnFil

    2023-03-01
    149
  • 使用Pycharm进行高效查找替换技巧

    使用Pycharm进行高效查找替换技巧编程是一项非常复杂的工作,其中常常需要查找和替换特定的字符或代码,以满足功能和格式的需求。在Python编程语言中,使用Pycharm作为开发环境可以带来高效的查找替换体验。下面将介绍几种使用Pycharm进行高效查找替换的技巧。

    2024-09-12
    23
  • openjdk安装_openeuler centos

    openjdk安装_openeuler centosOpenEuler安装配置PostgreSQL 编写时间:2021年9月18日 作者:liupp 邮箱:liupp@88.com 序号 更新内容 更新日期 更新人 1 完成第一至三章内容编辑; 202

    2023-04-22
    150
  • 初中数学“3.1-1 用字母表示数”说课稿「建议收藏」

    初中数学“3.1-1 用字母表示数”说课稿「建议收藏」尊敬的各位评委老师: 大家好!今天我说课的课题是《用字母表示数》,接下来我将从教材分析,教法和学法,教学过程以及板书设计四个大点对本堂课的教学进行说明。 一:教材分析 这一大点我将从教材地位,教学目…

    2022-12-25
    149
  • Mybatis3详解(六)——动态SQL

    Mybatis3详解(六)——动态SQL
    1、动态SQL介绍 if 标签:简单的条件判断。where 标签:相当于where关键字,并且能智能的处理and or ,不必担心多余导致语法错误。set …

    2023-04-05
    150
  • 页面上怎么从不同数据库取数并关联计算?「建议收藏」

    页面上怎么从不同数据库取数并关联计算?「建议收藏」可以通过 java 代码实现从不同数据库取数,做好关联计算后返回给前台页面展现,具体思路是: 1)分别从各个数据库中读取表数据,存入 CachedRowSet 对象中 2)关联计算可以使用 Join…

    2023-03-05
    157

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注