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

database

循环批量插入数据

-- 创建存储过程

create procedure my_procedure01(in num int(2),out ii int(2))

begin

declare i int(2)default0;

declare str int(2);

while i < num

do

set str =round(rand()*100)+1;

insertinto 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)default0;

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 **

 

© 著作权归作者所有

打赏

点赞 (0)

收藏 (0)

分享

微博

QQ

微信

打印

举报

上一篇:

处理器主频概念及 xxxGHz 的运算速度

下一篇:

Linux 内核及 GNU/Linux 操作系统的基本体系结构

php开源社区

粉丝 1

博文 389

码字总数 563707

作品 0

长沙

技术主管

关注

私信

提问

加载中

请先登录后再评论。

删除一条评论

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

取消

确定

相关文章

最新文章

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: <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号

顶部

以上是 Mysql使用存储过程动态批量添加数据 的全部内容, 来源链接: utcz.com/z/535159.html

回到顶部