在做数据库系统开发时,特别是需要对数据库操作进行性能测试及优化时,我们就需要在数据库测试表中插入大量数据以便测试。对于这些数据的插入,这里通过实例展示如何通过存储过程进行实现。
 
      数据库表(userInfo)结构如下:

CREATE TABLE [dbo].[userInfo] (
 [userID] [int] IDENTITY (1, 1) NOT NULL ,
 [roleType] [int] NULL ,
 [groupID] [int] NULL ,
 [userCode] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [userName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [text1] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [text2] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [text3] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO
 
    存储过程如下(这里是批量插入99000条数据,roleType,groupID两个字段为随机生成的0-5之间的数):

CREATE PROCEDURE add_UserInfo
AS
DECLARE @userCode VARCHAR(30)
DECLARE @userName VARCHAR(30)

DECLARE @userCode_base VARCHAR(30)
DECLARE @count INTEGER
DECLARE @index INTEGER
DECLARE @rand1 INTEGER
DECLARE @rand2 INTEGER
SET @userCode_base='qs_'
SET @userName='userName'
SET @count=100000
SET @index=10000

WHILE @index<@count
BEGIN
 SET @userCode=@userCode_base+CONVERT(VARCHAR,@index)
 SET @rand1=convert(int,rand()*5)
 SET @rand2=convert(int,rand()*5)
 INSERT INTO userInfo (userCode,roleType,groupID,userName,text1,text2,text3)
 VALUES (@userCode,@rand1,@rand2,@userName,'aokei kaol jof','','aokei kaol jof')
 
 SET @index=@index+1
END
GO

转载于:https://www.cnblogs.com/zxl/articles/1159619.html

SQL SERVER存储过程批量插入数据库表数据相关推荐

  1. sql server 触发器实时同步数据库表数据

    sql server 触发器实时同步数据库表数据 创建两个相同结构的数据库表 CREATE TABLE [dbo].[Table_1]([id] [varchar](50) NOT NULL,[nam ...

  2. SQL Server - 使用 Merge 语句实现表数据之间的对比同步

    SQL Server - 使用 Merge 语句实现表数据之间的对比同步 原文:SQL Server - 使用 Merge 语句实现表数据之间的对比同步 表数据之间的同步有很多种实现方式,比如删除然后 ...

  3. Oracle和sql server中复制表结构和表数据的sql语句

    在Oracle和sql server中,如何从一个已知的旧表,来复制新生成一个新的表,如果要复制旧表结构和表数据,对应的sql语句该如何写呢?刚好阿堂这两天用到了,就顺便把它收集汇总一下,供朋友们参考 ...

  4. SQL Server 2008 批量插入数据时报错

    前几天在SQL Server 2008同步产品数据时,总是提示二进制文本被截断的错误,但是经过检查发现数据都符合格式要求. 百思不得其解,单独插入一条条数据则可以插入,但是批量导入则报错. 批量导入代 ...

  5. sql server 存储过程中使用变量表,临时表的分析(续)

    最近,我有一朋友,对我说他的数据库中的很多存储过程,执行都是超时.让我替他看看是什么原因.我一看,原来他的存储过程中用了很多的临时表与变量表.于是我跟他说过犹不及. 在存储过程中使用临时表或变量表,使 ...

  6. mysql利用存储过程批量插入一千万数据(半小时)

    示例: 向user表中插入一千万条数据,其中user_id11位手机号随机,可以重复:age为18-27之间:count随机金额,八位小数:status二百万数据为1,八百万数据为0. -- 如果该名 ...

  7. 使用Red Gate Sql Data Compare 数据库同步工具进行SQL Server的两个数据库的数据比较、同步...

    Sql Data Compare 是比较两个数据库的数据是否相同.生成同步sql的工具. 这一款工具由Red Gate公司出品,我们熟悉的.NET Reflector就是这个公司推出的,它的SQLTo ...

  8. php删除sql server 2008,MSSQL_SQL Server2008 数据库误删除数据的恢复方法分享,SQL Server中误删除数据的恢复本 - phpStudy...

    SQL Server2008 数据库误删除数据的恢复方法分享 SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的 ...

  9. navicat批量插入mysql表数据

    打开Navicat的查询,写入以下代码,定义一个方法: delimiter // CREATE PROCEDURE pro_insertMany(in num INT) BEGINDECLARE i ...

  10. mysql不同服务器查询_实战操作SQL Server连接查询不同服务器表数据

    今日产品部要导批数据,但是需要连接查询查询的几个表不在同一服务器上.所以我开始是这么干的: 1.查询一台服务器的数据,并导入本地Excel 2.查询另一台服务器的数据,并导入本地Excel 3.Exc ...

最新文章

  1. Java日志体系总结
  2. 训练和验证准确性_通过沉浸式虚拟现实观察动作增强运动想象训练
  3. Activity生命周期回调是如何被回调的?
  4. MTK 快速开机 技术详解
  5. 解决Linux系统没有/etc/sysconfig/iptables文件
  6. 第三次学JAVA再学不好就吃翔(part35)--多态向上转型和向下转型
  7. 计算机 用户创建失败,电脑用户加载错误,无法创建新的配置文件的解决方法...
  8. 办公技巧:Excel日常高频使用技巧,赶快收藏吧!
  9. Java Persistence with MyBatis 小结2
  10. error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.
  11. 关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法
  12. Python之数据分析(Numpy的数组切片、数组变维、组合与拆分)
  13. 别说你不知IE9正式版浏览器小技巧9则
  14. VS C++ 从字符串中查找字符最后一次出现的位置 strrchr
  15. phonegap2.9.1 android 环境搭建,PhoneGap 开发环境搭建
  16. java下载 文件_Java下载文件的几种方式
  17. 手机修改html离线网页内容,HTML5--离线web应用
  18. 版本控制选择SVN还是Git?
  19. 2011盘点国内外24款免费个人防火墙
  20. 电脑或者手机的PIN码

热门文章

  1. python中jieba分词快速入门
  2. Machine Learning系列实验--SoftMax Regression
  3. ConcurrentHashMap!你居然不知道1.7和1.8可不一样?!
  4. 如何获取HTML元素所对应的javascript对象?
  5. php mysql pod_php – 连接到同一pod中的MySQL容器
  6. 装箱问题 BPP first fit、best fit、first fit decreasing、best fit decreasing
  7. linux\虚拟机\docker如何查看操作系统版本、内核、cup等信息
  8. linux 实时查看日志 最新最后100行 tail
  9. c语言开发kafka环境,c++(11)使用librdkafka库实现kafka的消费实例
  10. android.jar 位置,Android 导入jar包 so模块--导入放置的目录