使用T-SQL,是否可以在不锁定记录的情况下将记录插入表中?

时间:2012-06-28 00:37:32

标签: tsql

我有一个将数百万条记录插入表中的过程。

在执行时,没有其他进程可以访问该表。 他们必须等几分钟。网络应用无法接受。

那么,是否有类似BULK INSERT的东西可以在两个sql表之间使用?

谢谢!

1 个答案:

答案 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')