SQL SERVER存储过程批量插入数据库表数据
这是个简单的例子,向岗位表中插入数据。要求编号名称全部是以GSPOS_为前缀的,如POS_1,一直到POS_1000,备注里内容如批量加的GSPOS_1,批量加的GSPOS_2......
Declare @td int
DECLARE @base VARCHAR(30)
DECLARE @id VARCHAR(30)
SET @base='gspos_'
SET @td=1
while @td< 2001
set @id=@base+CONVERT(VARCHAR,@td)
insert into gspposition(ID,CODE,NAME,TYPE,ORGID,Sysinit,description,Creator,Createdtime)
set @td=@td+1
end
go
以下为往用户表中插入数据。
Declare @td int
DECLARE @base VARCHAR(30)
DECLARE @id VARCHAR(30)
SET @base='gs_'
SET @td=1
while @td< 2001
set @id=@base+CONVERT(VARCHAR,@td)
insert into gspuser(ID,CODE,NAME,PASSWORD,TYPE,STATE,DEFORGID,DAYLIMIT,TIMELIMIT,Creatorid,Createddate,
passvalidspan,profile,alterpassflag,defposid,authcontent,sysinit)
set @td=@td+1
end
go
下面是详细介绍复杂的例子。
在做数据库系统开发时,特别是需要对数据库操作进行性能测试及优化时,我们就需要在数据库测试表中插入大量数据以便测试。对于这些数据的插入,这里通过实例展示如何通过存储过程进行实现。
CREATE TABLE [dbo].[userInfo] (
) ON [PRIMARY]
GO
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
END
GO