2013-10-11 42 views
0

我正在做的是使用csv的大容量插入插入到表中。我需要輸入固定數量的列。忽略大容量插入語句末尾的列

代碼:

BULK INSERT #TEMP FROM 'c:\temp.csv' 
WITH 
(
    FIELDTERMINATOR = ',' 
, ROWTERMINATOR = '\n' 
, CODEPAGE = 'RAW' 
,FIRSTROW =2 
) 

輸入:

A,B,C,D,E 
A,B,C,D,E 

問題:

包含值E不被寫入到表中的列,因爲有沒有 列來存儲這些值。當我把這些值插入表中,最後一列是這個樣子:

D,E 
D,E 

問:

有什麼辦法來防止E列插入到表中不使用的格式文件?由於存在一些權限問題,因此我無法使用OPENROWSET來獲取這些值。

+0

我需要存儲'D'的值,但是'D,E'的值正在存儲。我需要避免這種情況。 – Aashray

+0

您正在使用臨時表;你可以爲e添加一列,然後在插入後刪除它? – ps2goat

+0

這裏有一個類似問題的答案:http://stackoverflow.com/questions/14711814/ignore-certain-columns-when-using-bulk-insert – ps2goat

回答

0

正如其他人所提到的,你在執行批量插入時不能忽略一個字段。如果您無法訪問格式文件,請導入到臨時表中,然後刪除不需要的列。