Tables and Columns
UPSERT Query Behavior
UPSERT 設定は、Table Structure モードとMapping モードの両方でカラムごとに設定します。カラムを右クリックし、コンテキストメニューからUPSERT Settings を選択します。
UPSERT Settings ダイアログが開きます。デフォルトではEnable UPSERT settings トグルはON になっており、コネクタはINSERT かUPDATE かを決定する前に、宛先にレコードがすでに存在するかどうかを確認します。

レコードが存在するかどうかを判定するために使用されるクエリは、以下のセクションで説明するロジックによって制御されます。
UPSERT Settings Enabled
Enable UPSERT settings がON の場合、クエリの動作はUPSERT Settings リストで選択したオプションによって決まります:UPSERT by(単一カラムでの一致)またはQuery to select UPSERT key(カスタムルックアップクエリの使用)。
UPSERT By Id
UPSERT Settings リストでUPSERT by を選択し、テーブルのキーカラムを選択すると、コネクタは一致するキー値を持つレコードが存在するかどうかを判定するためにクエリを発行します:UPSERT By Non-key Column
UPSERT Settings リストでUPSERT by を選択し、非キーカラムを選択すると、コネクタはそのカラムに一致する値を含むレコードが存在するかどうかを、SELECT で主キーを対象として判定するためにクエリを発行します(以下の例はOrders テーブルへのUPSERT を示しています):選択したUPSERT by カラムが入力で指定されていない場合、次のクエリに示すように、NULL 値でルックアップが使用されます。
Using a Custom Query
UPSERT Settings リストでQuery to select UPSERT key を選択すると、UPSERT キーを判定するためのカスタムクエリを記述できます。これにより、単一のカラムの一致だけでなく、より複雑なロジックを使用してルックアップを実行できます。次のクエリを考えてみましょう:@OrderID 構文は、一致する入力XML から値を参照するために使用されます。静的な値を使用することもできます。'Active' を囲む引用符は、この句が静的な値を使用していることを示します。
ここでも、キーカラムの一致が成功すると、更新リクエストの形成に使用されます。一致しない場合は、レコードが挿入されます。
UPSERT Settings Disabled
カラムのUPSERT 動作を無効にするには、UPSERT Settings ダイアログを開き(宛先カラムを右クリックしてUPSERT Settings を選択します)、Enable UPSERT settings をOFF に切り替えて、Apply をクリックします。 UPSERT 設定が無効の場合、コネクタはINSERT クエリのみを発行します。入力マッピングのコードビューを確認すると、テーブルのaction 属性がinsert になっていることがわかります:
update に設定できます。