私はこのようなマージステートメントを持っています:
MERGE DESTINATION
USING SOURCE WHERE <Some_Conditions>
WHEN MATCHED AND <Some_Conditions> THEN DELETE
WHEN MATCHED UPDATE
WHEN NOT MATCHED INSERT
これは正常に機能していますが、もう1つの条件があります。つまり、エントリがソースに存在しない場合に、宛先の行を更新する必要があります。
元。
ソース
Column1 Column2 Column3
-----------------------
A A A
B B B
行き先
Column1 Column2 Column3
-----------------------------------
B B <Some_Calculation>
D D <Some_Calculation>
ここで、のソースに行がないため、いくつかの計算を使用して宛先D
を変更する必要があります。Column 3
ただし、mergeは、の3つのオプションのみを提供し、delete
行が一致したかどうかを示します。update
insert
上記のステートメントでこの機能を実装するにはどうすればよいですか?
編集
以下の私のコメントで質問を編集します:
上記の例では、上記の例が実行されており、更新されて宛先テーブルB
に挿入されています。ただし、ソーステーブルに存在しない場合でもA
更新したいD