我认为最简单(也可能是最快的)方法是使用临时表。
假设以下 CSV 文件:
Column1,Column2,Column3,Column4,Column5,Column6,Column7,Column8,Column9,Column10
Row1Value1,Value2,Value3,Value4,Value5,Value6,Value7,Value8,Value9,Value10
Row2Value1,Value2,Value3,Value4,Value5,Value6,Value7,Value8,Value9,Value10
...
使用类似的东西(在您的 C# 中)将文件导入 de DB,您可以在其中影响文件路径:
CREATE TABLE #temp( column1 varchar,
column2 varchar,
column3 varchar,
column4 varchar,
column5 varchar,
column6 varchar,
column7 varchar,
column8 varchar,
column9 varchar,
column10 varchar);
BULK INSERT #temp1
FROM 'C:\Test.csv'
WITH (
FIELDTERMINATOR =',',
ROWTERMINATOR = '\ n',
FIRSTROW = 2
)
现在您可以使用 INSERT INTO SELECT 将列选择到您的其他表中:
INSERT INTO table1
(Id, Name, Title, Desription, Date)
SELECT column1, column3, column5, column7, column10
FROM #temp1;
INSERT INTO table2
(SupplierName, Country, Contact, Addres, City)
SELECT column2, column4, column6, column8, column9
FROM #temp1;
如果您愿意,现在可以 DROP 或 EMPTY #temp1 表。