【sql server】表内批量插入数据
上一篇 /
下一篇 2015-04-21 16:17:57
/ 个人分类:性能
向
数据库中,批量插入数据有多种方式。
前提:向表iminvbin_sql中插入大量数据,其中item_no,loc,bin_no字段取值随机从其他表或是当前表取值,qty_on_hand等字段为固定值,其他可为空字段直接为空。
方法一:一条条插入,代码如下
--声明变量
declare @currentId numeric(9, 0)
declare @item_no char(30)
declare @loc char(3)
declare @bin_no char(8)
----------插入10000条数据
set @currentId =(select max(id) from iminvbin_sql)
declare @i int
set @i=1
while @i<=1000
begin
--生成id
set @currentId=@currentId+1
--生成
set @item_no=(select top 1 item_no from iminvbin_sql ORDER BY NEWID() )
--生成姓名
set @loc=(select top 1 loc from iminvbin_sql ORDER BY NEWID() )
set @bin_no=(select top 1 bin_no from iminvbin_sql ORDER BY NEWID() )
--插入表中
insert into iminvbin_sql(item_no,loc,bin_no,bin_priority,issue_priority,issue_pri_tm,qty_on_hand,id)
values(@item_no,@loc,@bin_no,98,98,0,0,@currentId)
set @i=@i+1
end
这个程序比较简单,但是会拖垮数据库的性能。数据量大的时候,明显是不适用的。
方法二:
收藏
举报
TAG:
server
Server