重新导入Excel文件到SQL SERVER通过SSIS包

问题描述:

我有一个SSIS项目从Excel文件导入到SQL Server表中的数据。但是这只会将记录追加到我的表中,我需要添加更新表中现有数据的功能,这意味着可以重复导入同一个excel文件太多次。重新导入Excel文件到SQL SERVER通过SSIS包

我怎么能这样做或我在哪里可以得到我的信息 非常欣赏

感谢 埃利安娜

一个简单的解决方案是使用临时表和T-SQL MERGE语句。具体方法如下:

  1. 为会话创建一个临时表(创建表的#mytable(...))
  2. 导入Excel的内容文件到该临时表
  3. 使用MERGE语句合并将临时表放入真正的目标表中。

这里是文档,以T-SQL MERGE语句:http://technet.microsoft.com/en-us/library/bb510625.aspx

这个例子说明如何既用MERGE合并:

MERGE RealDestinationTable AS target 
USING #mytable AS source 
ON (target.Id = source.Id) 
WHEN MATCHED THEN 
    UPDATE SET Name = source.Name 
WHEN NOT MATCHED THEN 
    INSERT (Field1, Field2) 
    VALUES (source.Field1, source.Field2) 
    OUTPUT deleted.*, $action, inserted.* 
     INTO #AnyResultTempTable; 
+0

这是好的,但我得到了一个解决方案throught SSIS现在。无论如何感谢 – Eliana 2012-07-26 01:47:21

+0

如果您的解决方案是使用缓慢变化的维度,请知道MERGE语句更快。事实上,它比SSIS中能够达到相同结果的任何事情都快很多。 – 2012-07-26 13:00:59