Oracle MERGE文の基本と実践:構文と使い方を解説
OracleのMERGE文は、データをマージするために使用され、INSERT、UPDATE、DELETE操作を同時に実行できます。基本的な文法は以下の通りです:
MERGE INTO target_table USING source_table
ON (merge_condition)
WHEN MATCHED THEN
UPDATE SET column1 = value1, column2 = value2
WHEN NOT MATCHED THEN
INSERT (column1, column2) VALUES (value1, value2);
その中:
- 目標テーブル:データを統合するためのテーブル
- ソーステーブル:データを取得する元のテーブル
- merge_condition:ソーステーブルとターゲットテーブルのどの行をマージ操作するかを決定するための条件。
- アップデートセット: 条件に一致した場合、更新操作に必要な列と値を設定します。
- 条件が一致しない場合:当てはまらない場合、挿入操作を実行します。
注意:MERGE文を使用する際には、ソーステーブルとターゲットテーブルの列名とデータ型が一致していることを確認し、マージエラーを避けてください。