我目前正在开发一个C#程序,需要一个巨大的Excel表(〜14,300行,90列),并需要将其插入数据库(SQL Server 2014)。用户可以通过数据库搜索不同的产品并最终为客户提供报价。许多列的SQL合并语句
插入我成功地使用SQLBulkcopy将Excel行插入登台表中。问题是,我想使用合并语句来合并我的登台表和真实表,因为随着时间的推移,可能会有多次上传相同的文件。所有SQL合并的例子我发现是这个样子:
MERGE INTO maintable as Target
USING stagingtable as Source
ON Target.columnA = Source.columnA
WHEN MATCHED THEN
UPDATE SET Target.Name = Source.Name
WHEN NOT MATCHED THEN
INSERT (columnA, Name)
VALUES (Source.columnA, source.Name)
声明的工作,但问题是,我的excel文件有90列。是否有办法一次更新整行,或者是否需要更新每行的90列?
你应该为你的朋友问另一个问题,我想你会有更好的运气获得答案。你可以链接到这个问题,所以你不必再输入描述 – reggaeguitar 2014-09-23 15:01:21
你是我发布后实现的。我的第一篇文章,通常只是一个潜伏者。 – 2014-09-23 15:02:33
您可以根据需要更新/插入任意数量的列,只能匹配2个条件,但请记住,其目的是“该记录是否存在?如果更新,如果没有插入”,则不会尝试确定是否已经存在的行已经改变。 – 2014-09-23 15:10:19