많은 CSV 파일이 있으며이를 BULK INSERT를 사용하여 MyTable로 가져 오려고합니다. 새 파일을 가져올 때마다 마지막 열인 'ColumnNameWithFileName'에 파일 이름을 삽입하려고합니다. 파일 이름은 file01.csv, file02.csv와 같습니다.CSV를 SQL로 가져와 파일 이름을 마지막 열에 삽입하는 방법은 무엇입니까?
두 번째 파일을 가져 오는 동안 BULK INSERT를 사용하려고하면 잘림 오류가 발생합니다. 아마도 CSV 테이블이 이미 추가 열인 MyTable에 맞지 않기 때문일 수 있습니다. 어떻게 처리할까요?
-- Add a column 'ColumnNameWithFileName' This code done only once ALTER TABLE dbo.MyTable ADD ColumnNameWithFileName VARCHAR(20) NULL
DECLARE CSVFileName VARCHAR(20) -- Bulk insert from CSV file Bulk insert dbo.[MyTable] from 'C:\file01.CSV' with ( fieldterminator =';' ,rowterminator='\n' ,FIRSTROW=2 ,CODEPAGE ='ACP')
-- Insert to new column file name UPDATE dbo.MyTable SET ColumnNameWithFileName = CSVFileName WHERE ColumnNameWithFileName IS NULL
가능한 복제 (http://stackoverflow.com/questions/3915209/sql-bulk-insert-with-additional-column) 당신이 당신을 절단하여 의미합니까 무엇 –