2013-02-05 12 views
9

Mam rozdzielany przecinkami pliku tekstowego ze strukturąignorowanie pewnych kolumn przy użyciu BULK INSERT

field1 field2 field3 field4 
1  2  3  4 

napisałem poniższy skrypt do masowych wstawić plik tekstowy, ale chciałem opuścić kolumna 3

create table test (field1 varchar(50),field2 varchar(50),field4 varchar(50)) 
go 
bulk insert test 
from 'c:\myFilePath' 
with 
(fieldterminator=',', 
rowterminator='\n' 
) 

Wkładka działała bez zarzutu, ale wyniki wkładki sprawiły, że pole4 wyglądało jak pole3, pole4, więc pole 3 zostało właśnie połączone na pole4. Płaskie pliki, nad którymi pracuję, to kilka występów i nie można ich łatwo modyfikować. Czy istnieje sposób użycia wstawiania zbiorczego, ale czy ma on zignorować kolumny, które nie są zadeklarowane w instrukcji create table?

Odpowiedz

4

nie można zignorować pole robiąc insert luzem, insted to robić .. Załaduj wszystkie kolumny 4 i upuść Columa których nie chcesz

create table test (field1 varchar(50),field2 varchar(50), field3 varchar(50),field4 varchar(50)) 
go 
bulk insert test 
from 'c:\myFilePath' 
with 
(fieldterminator=',', 
rowterminator='\n' 
) 

ALTER TABLE test DROP column [field3] 
7

Najprostszym sposobem jest stworzenie pogląd, że ma tylko kolumny, których potrzebujesz.

Następnie włóż luzem do tego widoku.

Powiązane problemy