-1

これを Visual Studio SSIS で構築しています。それぞれに 3 つのフィールドを持つ 2 つのテーブルがあります。1 つのテーブルは、毎日の値をロードする一時テーブルで、もう 1 つは運用テーブルです。毎日の一時テーブルを取得したいのですが、レコードが "キー" によって prod テーブルに存在する場合、prod テーブルに既にある値を一時テーブルからの値に追加して集計値を更新したいと考えています。以下は、私が動作すると思ったコードですが、「エラー: Create-Update EMS Summary Table で 0xC002F210、Execute SQL Task: Executing the query "MERGE EMSComplianceTrnSummary as target USING EMSE..." というエラーが発生し、次のエラーで失敗しました。 : "MERGE ステートメントで使用される挿入列リストには、マルチパート識別子を含めることはできません。"

これを機能させるための助けはありますか?

SQL コード:

MERGE EMSComplianceSummary as target
USING EMSComplianceSummaryTemp as source ON (target.key = source.key)
WHEN MATCHED THEN
  UPDATE SET target.sumtoon = target.sumtoon + source.sumtoon,
             target.summoving = target.summoving + source.summoving
WHEN NOT MATCHED THEN
  INSERT (target.trainkey, target.sumtoon, target.summoving)
  VALUES (source.trainkey, source.sumtoon, source.summoving)
4

3 に答える 3

0

「ターゲット」を削除する必要があるようです。挿入リストの各列から。ターゲットに挿入していることはすでにわかっています。

于 2013-05-01T16:02:48.103 に答える