0

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

我该怎么做或者我在哪里可以得到我非常感激的信息

谢谢埃利亚娜

4

1 回答 1

0

一个简单的解决方案是使用临时表和 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;
于 2012-07-17T14:19:19.547 回答