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)をサポートする必要があります。