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

时间:2012-07-16 23:35:13

标签: ssis

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

我该怎么做?或者我在哪里可以获得信息 我非常感谢

由于 埃利安娜

1 个答案:

答案 0 :(得分:0)

一个简单的解决方案是使用临时表和t-sql MERGE语句。以下是:

  1. 为您的会话创建临时表(创建表#mytable(...))
  2. 将Excel文件的内容导入该临时表
  3. 使用MERGE语句将临时表合并到真实目标表中。
  4. 以下是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;
    
相关问题