2010-02-13 55 views

回答

2

沒有數據庫引擎獨立的方式來做到這一點。 每個DB服務器都有自己的方式(例如Sybase的bcp)。

可能有一些第三方產品可以爲您完成這項工作,但它僅僅是一個圍繞特定服務器方法的包裝(如果您正在尋找,您可能需要澄清您的問題)。

注意:由於被記錄(與bcp不同,INSERTs比本地批量插入慢很多),因此Mark建議的做一堆INSERT絕對不一樣。

+0

批量插入也會被記錄(並檢查外鍵,索引更新等)。 – 2010-02-13 22:25:58

+0

bcp: - 不調用觸發器 - 不在SQL服務器或sybase上以快速模式記錄單個插入。 – DVK 2010-02-14 01:10:06

+0

bcp可能不會這樣做,但'SqlBulkCopy'不支持觸發器(如果您願意的話)。如果您的數據庫正在使用完整恢復模式,那麼即使是bcp操作也會被完全記錄 - http://msdn.microsoft.com/zh-cn/library/ms191244.aspx – 2010-02-14 13:51:03

0

獨立於數據庫批量插入解開?不可能。

我能想到的最接近的是用這樣的行創建一個插入腳本:

INSERT INTO TableName (...) VALUES (...); 

它會壓縮得很好,所以你可能要gzip壓縮它。

雖然你可能更喜歡堅持數據庫特定的命令。 「獨立於數據庫」通常只是「慢」的同義詞。