3.6.4.4. UPSERT(MERGE)コマンド
UPSERT (または MERGE)コマンドは、レコードの追加または更新に使用されます。Data Virtualization に実装されるANSI 以外のバージョンの UPSERT は、ターゲットテーブルにプライマリーキーが必要となり、ターゲット列がプライマリーキーに対応する変更済みの INSERT ステートメントです。INSERT を実行する前に、UPSERT 操作は行が存在するかどうかを確認し、存在する場合は、UPSERT が新しい行を挿入せずに現在の行を更新します。
構文の例
UPSERT INTO table [[AS] alias] (column,...) VALUES (value,...)
UPSERT INTO table [[AS] alias] (column,...) VALUES (value,...)
UPSERT INTO table (column,...) query
UPSERT INTO table (column,...) query
UPSERT プッシュダウン
UPSERT ステートメントがソースにプッシュされていない場合、これはそれぞれの INSERT および UPDATE 操作に分割されます。ターゲットデータベースシステムは、トランザクションの原子性を保証するために拡張アーキテクチャー(XA)をサポートする必要があります。