MERGE文は、指定した結合条件を満たす行が存在すればUPDATE、存在しなければINSERTを行います。

MERGE INTO [target-schema.]target-table
USING {[source-schema.]source-table|subquery}
ON (condition [,condition...])
WHEN MATCHED THEN update-clause
WHEN NOT MATCHED THEN insert-clause
target-schema

挿入または更新する表のスキーマ

target-table

挿入または更新する表

source-schema

挿入または更新する行を取得する表のスキーマ

source-table
subquery

挿入または更新する行を取得する表

挿入または更新する行を取得するサブクエリ

condition

条件

update-clause

UPDATE文

insert-clause

INSERT文

OracleデータベースでMERGE文を実行するのに必要な権限を次に示す。

MERGE INTO forex
USING DUAL
ON (currency_pair = 'USDJPY')
WHEN MATCHED THEN
  UPDATE SET rate = 89.95
WHEN NOT MATCHED THEN
  INSERT (currency_pair, rate) VALUES ('USDJPY', 89.95);
スポンサーリンク