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

Mysql 使用存储过程动态批量添加数据

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

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

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

看不清楚,换张图片

免费获取短信验证码

Mysql 使用存储过程动态批量添加数据

Mysql 使用存储过程动态批量添加数据

循环批量插入数据

-- 创建存储过程
create procedure my_procedure01(in num int(2),out ii int(2))
begin
    declare i int(2) default 0;
    declare str int(2);
    while i < num
    do
        set str = round(rand()*100) + 1;
        insert into p_procedure (name) values (str);
        set i = i + 1;
    end while;
    
    set ii = i;
end;
-- 删除存储过程
drop procedure my_procedure01;
-- 调用存储过程
call my_procedure01(2, @y);
-- 查询存储过程的输出
select @y;

拼接批量插入数据

-- 创建存储过程
create procedure my_procedure02(in num int(2),out ii text)
begin
    declare i int(2) default 0;
    declare str int(2);
    declare data text;
        
    while i < num
    do
        set str = round(rand()*100) + 1;
        set data = concat("(", str, ")");

        -- 存储 alldata 内容的变量必须是全局变量,使用 @ 符修饰
        if @insertData = "" then
            set @insertData = CONCAT_WS(",", data);
        else
            set @insertData = CONCAT_WS(",", @insertData, data);
        end if;

        set i = i + 1;
    end while;
    -- 存储 sql 内容的变量必须是全局变量,使用 @ 符修饰
    set @sql = CONCAT("INSERT INTO p_procedure (name) VALUES ", @insertData);
        
    -- 预处理
    PREPARE ins from @sql;
    EXECUTE ins;
    DEALLOCATE PREPARE ins;
    
    -- 清空全局 @insertData 数据,否则数据会一直追加
    set @insertData = "";

    -- 输出 sql
    set ii = @sql;
        
end;
-- 调用存储过程
call my_procedure02(2, @ii);
-- 查询存储过程的输出
select @ii;
-- 外部重置全局变量
set @insertData = "";
-- 删除存储过程
drop procedure my_procedure02;
-- 存储过程-实例02 - end

**执行的 sql **

attachments-2020-08-FGhslRUY5f30a8545a1d8.png

 

© 著作权归作者所有 打赏 点赞 (0) 收藏 (0) 分享 微博 QQ 微信 打印 举报 上一篇: 处理器主频概念及 xxxGHz 的运算速度 下一篇: Linux 内核及 GNU/Linux 操作系统的基本体系结构 php开源社区

php开源社区

粉丝 1 博文 389 码字总数 563707 作品 0 长沙 技术主管 关注 私信 提问 加载中 请先登录后再评论。
插入表情 {{ emoji.type }} 插入软件 发表评论
删除一条评论

评论删除后,数据将无法恢复

取消 确定 相关文章 最新文章 Netty那点事(三)Channel与Pipeline

Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的...

黄亿华 2013/11/24 2W 22 记一次失败的Perl + Nginx + FastCGI 配置过程

这两天心血来潮,不知道为什么和 Perl + Nginx + FastCGI 配置 耗上了。但是失败了,记录如下: 1)安装Nginx 1.4.3 ,我的是WINDOWS 7 系统,修改配置文件如下: location ~ .(pl|cgi|perl)?...

通吃岛-低手哥 2013/10/27 1.7K 7 访问安全控制解决方案

本文是《轻量级 Java Web 框架架构设计》的系列博文。 今天想和大家简单的分享一下,在 Smart 中是如何做到访问安全控制的。也就是说,当没有登录或 Session 过期时所做的操作,会自动退回到...

黄勇 2013/11/03 3.5K 8 浅入浅出Android(003):使用TextView类构造文本控件

基础: TextView是无法供编辑的。 当我们新建一个项目MyTextView时候,默认的布局(/res/layout/activity_main.xml)中已经有了一个TextView: 樂天 2014/03/22 693 1 SQLServer实现split分割字符串到列

网上已有人实现sqlserver的split函数可将字符串分割成行,但是我们习惯了split返回数组或者列表,因此这里对其做一些改动,最终实现也许不尽如意,但是也能解决一些问题。 先贴上某大牛写的s...

cwalet 2014/05/21 9.7K 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

获取JavaScript数组中的所有唯一值(删除重复项) - Get all unique values in a JavaScript array (remove duplicates)

问题: I have an array of numbers that I need to make sure are unique. 我需要确定一个唯一的数字数组。 I found the code snippet below on the internet and it works great until th......

javail 30分钟前 11 0 如何检查字符串是否为空? - How to check if the string is empty?

问题: Does Python have something like an empty string variable where you can do: Python是否有类似空字符串变量的内容可以在其中执行: if myString == string.empty: Regardless, wh......

富含淀粉 今天 7 0 您如何存储未跟踪的文件? - How do you stash an untracked file?

问题: I have changes to a file, plus a new file, and would like to use git stash to put them away while I switch to another task. 我对一个文件进行了更改,再加上一个新文件,并希......

技术盛宴 今天 39 0 GeoPandas入门 | 01-地理数据介绍

01-地理数据介绍 1.1 Python地理空间矢量数据简介 %matplotlib inlineimport pandas as pdimport geopandas 导入地理数据 地理空间数据通常可以从特定的GIS文件格式或数据存储中获得,如...

酱肉包- 今天 25 0 OSChina 周三乱弹 —— 我是不是也有王室血统

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @小小编辑推荐,《我们》- 陈奕迅 《我们》- 陈奕迅 手机党少年们想听歌,请使劲儿戳(这里) @举个栗子OSC :快抬头看天!!! 雨后还有彩虹...

小小编辑 今天 59 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSCHINA 社区

关于我们 联系我们 合作伙伴 Open API

在线工具

码云 Gitee.com 企业研发管理 CopyCat-代码克隆检测 实用在线工具

微信公众号

微信公众号

OSCHINA APP

聚合全网技术文章,根据你的阅读喜好进行个性推荐

下载 APP ©OSCHINA(OSChina.NET) 工信部 开源软件推进联盟 指定官方社区 深圳市奥思网络科技有限公司版权所有 粤ICP备12009483号 返回顶部 顶部

免责声明:

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

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

Mysql 使用存储过程动态批量添加数据

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

下载Word文档

猜你喜欢

Mysql 使用存储过程动态批量添加数据

循环批量插入数据 -- 创建存储过程create procedure my_procedure01(in num int(2),out ii int(2))begin declare i int(2) default 0; declare st
Mysql 使用存储过程动态批量添加数据
2021-05-18

oracle存储过程怎么批量添加数据

要批量添加数据,可以使用Oracle的FORALL语句结合BULK COLLECT功能。以下是一个示例的存储过程,用于批量添加数据:```CREATE OR REPLACE PROCEDURE add_data_bulk (p_data_l
2023-08-21

mysql使用存储过程批量给表加字段

背景:项目中,需要给几百张表添加相同的字段,手动添加比较费劲,于是打算使用存储过程实现。编写的存储过程:delimiter //-- 创建存储过程之前需判断该存储过程是否已存在,若存在则删除DROP PROCEDURE IF EXISTS updateTabl
mysql使用存储过程批量给表加字段
2017-06-09

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

1、场景 为菜单表中所以机构(organization_id唯一标识)课程项目(一级菜单)菜单下新增图书管理子菜单并为所有机构增加该子菜单的绑定关系。具体查询步骤: (1)查询菜单表中有菜单配置的所有机构id; (2)查询相应机构对于的一级菜单 课程项目 的i
MySQL存储过程实现表内数据查询结果批量插入
2022-04-02

Oracle存储过程批量更新在数据处理中的应用案例

Oracle存储过程批量更新在数据处理中的应用案例在实际的数据处理中,我们经常需要对数据库中的大量数据进行更新操作。Oracle数据库提供了存储过程的功能,可以有效地处理这些大批量数据更新的操作,提高数据处理效率和性能。在本文中,我们将介
Oracle存储过程批量更新在数据处理中的应用案例
2024-03-08

mysql存储中使用while批量插入数据(批量提交和单个提交的区别)

目录批量提交完整写法单个提交完整写法结论批量提交while 语句写法:while '条件' do循环体语句;end while;完整写法drop procedure if exists test_insert;delimiter $
2022-08-17

sql server通过临时存储过程实现使用参数添加文件组脚本复用

create procedure #pr_CreateFileGroup @dbname nvarchar(max), @filegroupname nvarchar(max)asbegin/* 脚本来源:https://www.cnblog
sql server通过临时存储过程实现使用参数添加文件组脚本复用
2014-06-04

MySQL实验--静态行转列->动态行转列->存储过程使用行转列

概述 今天主要用一个实验来介绍一下在使用行转列的过程及相关实验。下面演示一下。 创建表 这里我用一个比较简单的例子来说明,也是行转列的经典例子,就是学生的成绩三张表:学生表、课程表、成绩表 1、学生表 就简单一点,学生学号、学生姓名两个字段 CREATE T
MySQL实验--静态行转列->动态行转列->存储过程使用行转列
2016-08-19

我们如何创建一个使用表中动态数据的 MySQL 存储函数?

MySQL 存储函数可以引用表,但不能使用返回结果集的语句。因此我们可以说不存在返回结果集的 SELECT 查询。但我们可以使用 SELECT INTO 来摆脱这个问题。例如,我们正在创建一个函数“Avg_marks”,它使用名为“Stud
2023-10-22

MySQL存储过程的创建使用以及实现数据快速插入

目录一,存储过程介绍二,存储过程的优缺点 三,存储过程的创建与调用3.1,存储过程中的常用语法及参数3.2,存储过程的使用四,存储过程中的变量及使用细则4.1,变量定义4.2,变量赋值4.3,用户变量的使用4.4,存储过程的一些常用查看命令
2023-03-09

MySQL数据篇 (一)存储过程实现简单的数据修改及事务的使用

1、需求,手动给会员新增京币,并且添加分配日志,返回修改是否成功CREATE DEFINER=`jszapi`@`%` PROCEDURE `p_allot_user_coin`(IN `_member_id` int,IN `_coin` int,OUT `
MySQL数据篇 (一)存储过程实现简单的数据修改及事务的使用
2016-01-24

编程热搜

目录