我有一个将数百万条记录插入表中的过程。
在执行时,没有其他进程可以访问该表。 他们必须等几分钟。网络应用无法接受。
那么,是否有类似BULK INSERT的东西可以在两个sql表之间使用?
谢谢!
答案 0 :(得分:3)
那么,有没有像BULK INSERT这样可以在两者之间使用的东西 sql表?
是的,有......它被称为BULK INSERT,但这是一个从一个表到另一个表的两步过程:
在本地保存数据:
execute xp_cmdshell 'bcp Northwind.dbo.Orders out c:\temp\Orders.txt -Sgalser01 -T -n'
然后批量插入保存的文件:
select * into Northwind.dbo.Orders2 from Northwind.dbo.Orders where 1=2
bulk insert Northwind.dbo.Orders2 from 'c:\temp\Orders.txt'
with (DATAFILETYPE = 'native')