程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL SERVER存儲過程批量插入數據庫表數據

SQL SERVER存儲過程批量插入數據庫表數據

編輯:關於SqlServer
 在做數據庫系統開發時,特別是需要對數據庫操作進行性能測試及優化時,我們就需要在數據庫測試表中插入大量數據以便測試。對於這些數據的插入,這裡通過實例展示如何通過存儲過程進行實現。
 
      數據庫表(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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved