具有不同架构的批量插入

Moh*_*eem 1 sql t-sql sql-server

我正在尝试从具有以下数据的 csv 文件中获取数据。

Station code;DateBegin;DateEnd 
01;20100214;20100214 
02;20100214;20100214 
03;20100214;20100214 
Run Code Online (Sandbox Code Playgroud)

我正在尝试批量插入

BULK INSERT dbo.#tmp_station_details   
    FROM 'C:\station.csv'   
    WITH (   
         FIELDTERMINATOR ='';'',   
         FIRSTROW = 2, 
         ROWTERMINATOR = ''\n''  
        )   
Run Code Online (Sandbox Code Playgroud)

但是表 tmp_station_details 有一个额外的列作为优先级。它的架构就像

[Station code] [Priority] [DateBegin] [DateEnd]
Run Code Online (Sandbox Code Playgroud)

现在可以在不改变表的架构的情况下进行批量插入。

Bru*_*uce 5

将 FORMATFILE = 'format_file_path' 添加到您的“with”块。参考BOL: using a format file to skip a table column为例。