0

ExcelファイルからSQL ServerテーブルにデータをインポートするSSISプロジェクトがあります。しかし、これはテーブルにレコードを追加するだけです。テーブル内の既存のデータを更新する機能を追加する必要があります。つまり、同じ Excel ファイルを何度も再インポートすることができます。

どうすればそれを行うことができますか、どこで情報を入手できますか 大変感謝しています

ありがとうエリアナ

4

1 に答える 1

0

簡単な解決策は、一時テーブルと t-sql MERGE ステートメントを使用することです。方法は次のとおりです。

  1. セッション用の一時テーブルを作成します (create table #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 に答える