zoukankan      html  css  js  c++  java
  • mysql应用存储过程批量插入数据

    --批量插入数据的sql语句
    delimiter $$
    DROP PROCEDURE IF EXISTS `test.sp_insert_batch` $$
    CREATE DEFINER =`root`@`localhost` PROCEDURE `sp_insert_atch`(IN number INT)
    BEGIN
        DECLARE i INT ;
        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;
                deallocate prepare stmt;
                SET @sqltext='';
            END IF; 
    END$$
    
    delimiter ;
    
    
    
    CREATE TABLE `song`(
        `id` INT NOT NULL AUTO_INCREMENT COMMENT 'Autoincrement element',
        `name` TEXT NOT NULL ,
        `datetime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
        `rank` INT NOT NULL ,
        PRIMARY KEY (`id`)
    ) engine = MyISAM AUTO_INCREMENT = 8102001 DEFAULT CHARSET = gbk;


    注:此存储过程,实际应用需要测试。

  • 相关阅读:
    《面向对象编程》c++ primer 第15章
    extern的作用(综合网络)
    C程序内存区域分配(5个段作用)
    鼓舞自己的名言
    快速指数算法 和 求逆元算法
    HP Xeon 55xx上GPU的带宽问题
    Ubuntu12.04 安装ibusfbterm0.9.1
    Win7下读写Ext2/Ext3/Ext4文件系统
    fbv安装 为console添加背景图片
    CentOS6/7安装fcitx4.2.5
  • 原文地址:https://www.cnblogs.com/hubing/p/3193802.html
Copyright © 2011-2022 走看看