我知道該怎麼做批量插入我可以這樣做:SQL中使用BULK INSERT
BULK INSERT tblName FROM 'c:\bulktext.text' With (FIELDTERMINATOR = ',')
我只有在bulktext.text 4列,但tblName有20列。我如何只將這5列插入到tblName中。
有沒有辦法說哪列應該在BULK聲明
我知道該怎麼做批量插入我可以這樣做:SQL中使用BULK INSERT
BULK INSERT tblName FROM 'c:\bulktext.text' With (FIELDTERMINATOR = ',')
我只有在bulktext.text 4列,但tblName有20列。我如何只將這5列插入到tblName中。
有沒有辦法說哪列應該在BULK聲明
插入雖然你可以使用格式文件與BULK INSERT
來處理這個問題,我覺得這個方法非常繁瑣,而且容易出錯。因人而異。其他的想法:
在以前的項目這些文件輸出的其他文件中,我們使用(3)至O我們有很大的優勢 - 我們能夠重新編寫文件,而無需使用無用的數據來擾亂SQL,並在流水線早期拒絕無效的數據。
你需要使用格式文件
您可以使用Microsoft推薦的特製格式文件的方法,如BOL here 中所述。如果這是一個問題,您可能想使用上面的@Aaron Bertrand方法。
信不信由你,創建一個只映射這四列的視圖,然後也可以工作,而且它比格式文件更容易。
但是@AaronBertand提出的使用專用登臺表的建議確實是一個更好的主意(這是大多數DBA通常所做的)。
使用格式文件:http://msdn.microsoft.com/en-gb/library/ms179250.aspx或在一些臨時表或臨時表中轉儲整個數據,然後將其複製到主表中。 – Sonam
我很困惑 - 你的文件有比列表還多的列嗎?而且它是4,5,20? –