SQL Server 2012将CSV导入到映射的列

时间:2012-06-13 13:46:18

标签: sql-server sql-server-2012 csv-import

我目前正在尝试将大约10000行(从CSV文件)导入现有表格。

我只有一个我想要导入的列,但在我的表中我有另一个名为TypeId的列,我需要将其设置为静态值,即99E05902-1F68-4B1A-BC66-A143BFF19E37

所以我需要像

这样的东西
INSERT INTO TABLE ([Name], [TypeId])
Values (@Name (CSV value), "99E05902-1F68-4B1A-BC66-A143BFF19E37")

任何例子都会很棒。

由于

2 个答案:

答案 0 :(得分:5)

如上所述,将数据导入临时表,然后将值插入实际表

DECLARE @TempTable TABLE (Name nvarchar(max))

 BULK INSERT @TempTable 
 FROM ‘C:\YourFilePath\file.csv’
 WITH ( FIELDTERMINATOR = ‘,’,
 ROWTERMINATOR = ‘\n’
)

INSERT INTO TABLE ([Name], [TypeId])
Select Name,'99E05902-1F68-4B1A-BC66-A143BFF19E37' from @TempTable 

答案 1 :(得分:2)

如果您准备使用工具执行此操作,则可以使用SQL Server导入和导出向导。您可以从“开始”菜单,SQL Server Management Studio,SQL Server数据工具(SSDT)或命令提示符启动SQL Server导入和导出向导。 您可以使用此工具轻松映射目标和源列。稍后,如果您希望更新其他列,则可以使用代码。