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

MERGEの構文

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文

MERGEに必要な権限

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

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);

関連記事

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送