来自ITPUB的一位老兄。写的很好。贴出来。 DELIMITER $$

DROP PROCEDURE IF EXISTS `test`.`sp_insert_batch`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_insert_batch`(IN number int(11))
BEGIN
  declare i int(11);
  set i = 1;
  -- such as 1-2000,2000-4000,....
  WHILE i <= number DO
    if mod(i,2000)=1 then
       set @sqltext =concat('(''',concat('t',i),''',''',now(),''',',ceil(10*rand()),')');
    elseif mod(i,2000)=0 then
       set @sqltext=concat(@sqltext,',(''',concat('t',i),''',''',now(),''',',ceil(10*rand()),')');
       set @sqltext=concat('insert into song (name,datetime,rank) values',@sqltext);
       prepare stmt from @sqltext;
       execute stmt;
       DEALLOCATE PREPARE stmt;
       set @sqltext='';
    else
       set @sqltext=concat(@sqltext,',(''',concat('t',i),''',''',now(),''',',ceil(10*rand()),')');
    end if;
    set i = i + 1;
  END WHILE;
  -- process when number is not be moded by 2000
  -- such as 2001,4002,15200,...
  if @sqltext<>'' then
     set @sqltext=concat('insert into song (name,datetime,rank) values',@sqltext);
     prepare stmt from @sqltext;
     execute stmt;
     DEALLOCATE PREPARE stmt;
     set @sqltext='';
  end if;
END$$

DELIMITER ;

附表结构。
/*DDL Information For - test.song*/
-----------------------------------

Table Create Table
------ ----------------------------------------------------------------------------------------
song CREATE TABLE `song` (
          `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Autoincreament element',
          `name` text NOT NULL,
          `datetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
          `rank` int(11) NOT NULL,
          PRIMARY KEY (`id`)
        ) ENGINE=MyISAM AUTO_INCREMENT=8102001 DEFAULT CHARSET=gbk

转载于:https://blog.51cto.com/yueliangdao0608/81281

批量插入数据的存储过程相关推荐

  1. mysql批量插入数据的函数和存储过程

    -- 创建函数前,设置 set global log_bin_trust_function_creators=TRUE; -- 新建函数-产生随机的字符串 drop function if exist ...

  2. 三种批量插入数据的方法

    批量插入数据 本文将介绍三种批量插入数据的方法.第一种方法是使用循环语句逐个将数据项插入到数据库中:第二种方法使用的是SqlBulkCopy,使您可以用其他源的数据有效批量加载 SQL Server ...

  3. Mysql 如何批量插入数据

    比如你需要造一些压测数据,150万条,怎么快速做到呢? 下面使用存储函数和存储过程来批量插入数据. # 1.创建数据库: create database bigData; use bigData;# ...

  4. 批量插入数据库语句java_java相关:MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码)...

    java相关:MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码) 发布于 2020-7-22| 复制链接 本文通过实例代码给大家分享了MyBatis批量插入数据到Oracle数据库 ...

  5. oracle insert汉字出错,Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名...

    本文主要向大家介绍了Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库,用 ...

  6. linux批量es数据,Elasticsearch批量插入数据

    Elasticsearch批量插入数据 使用bulk批量操作数据库 1. 创建批量操作文件 格式: {"index":{"_index":"home& ...

  7. android SQLite 批量插入数据慢的解决方案 (针对于不同的android api 版本)

    android SQLite 批量插入数据慢的解决方案 (针对于不同的android api 版本) 参考文章: (1)android SQLite 批量插入数据慢的解决方案 (针对于不同的andro ...

  8. php addall,ThinkPHP3.2框架使用addAll()批量插入数据的方法

    这篇文章主要介绍了ThinkPHP3.2框架使用addAll()批量插入数据的方法,结合实例形式分析了thinkPHP针对单条数据插入及批量数据插入操作的相关实现技巧,需要的朋友可以参考下 本文实例讲 ...

  9. .NET Excel 2003 批量插入数据很慢的解决办法

    .Net利用Office组件的操作Excel批量插入数据据的时候,会非常慢. 我也曾经想利用其它组件来实现这个功能,但是效果不是很理想.后来经过查阅资料,发现Excel.Range的Value属性是O ...

最新文章

  1. 报名 | 首期AI Time PhD:听清北师兄分享前沿研究成果!
  2. Windows Azure AppFabric概述
  3. html fmt转换日期格式,js通用时间格式转换函数
  4. ASP.NET MVC上传图片前后台内容
  5. [转]SQL Server 2000执行计划成本(1/5)
  6. iOS - UIControl
  7. Public key for mysql....rpm is not installed
  8. docker 中运行 mysql
  9. 使用explain查询select查询语句执行计划
  10. 实习踩坑之路:快速失败:使用stream流便利集合的时候删除了对象,导致抛错Null
  11. AR/VR learning (1)--artoolkit在android studio 上的配置
  12. SQL语句 获取系统日期
  13. Xmind用例导入到TAPD的方案(附代码)
  14. 红米note3照相数据丢失
  15. 查看用友NC的版本方法(不启动NC,只看NCHOME)
  16. java简单的正则表达式验证邮箱
  17. Linux 批量处理dos2unix
  18. 规范你的代码编写风格
  19. 手把手教你搭建深度学习环境
  20. QPBOC交易流程详解--POS与卡片的数据交互进行分析

热门文章

  1. 树莓派(Raspberry Pi 3) centos7使用yum命令报错File /usr/bin/yum, line 30 except KeyboardInterrupt, e:...
  2. python--函数
  3. C#中排序的多种实现方式
  4. 解决Loadrunner报not writing pre_cci.ci问题
  5. linux -------- 使用xshell ,winscp 连接linux 以及一些问题解决
  6. 日常工作问题解决:配置NTP服务器以及一些常见错误解决
  7. 关于ubuntu系统无线网络网速慢的解决方法
  8. peer not authenticated的终极解决方案
  9. 解决 IntelliJ IDEA Tomcat 控制台中文输出乱码问题
  10. PHP cURL可以在单个请求中检索响应标头和正文吗?