2012-06-28 44 views
0

我有一個將數百萬條記錄插入表的過程。使用T-SQL,是否可以在不鎖定的情況下將記錄插入到表中?

執行時,沒有其他進程可以訪問該表。 他們必須等待幾分鐘。不適合網絡應用程序。

那麼,有沒有像兩個SQL表之間可以使用BULK INSERT?

謝謝!

+0

你現在怎麼執行你的插入? –

+0

你如何插入數據?你在使用SELECT INTO或INSERT SELECT嗎? – 8kb

+0

INSERT INTO表(...)SELECT ..... – David

回答

3

那麼,有沒有像兩個 SQL表之間可以使用BULK INSERT?

是有...這就是所謂的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') 
相關問題