Oracle21c MERGEで別テーブルから更新と挿入を行う
環境
Windows 11 Pro 21H2 64bit
Oracle Database 21c Express Edition Release 21.0.0.0.0
A5:SQL Mk-2
書式
MERGE INTO テーブル1 USING テーブル2
ON テーブル1.列1 = テーブル2.列1
WHEN MATCHED THEN
UPDATE SET
列名 = テーブル2.列名1,…
WHEN NOT MATCHED THEN
INSERT (列名, 列名 ・・・ )
VALUES (テーブル2.列名1, ・・・ );
使用例
テーブル「TEST2」を使って「TEST」にデータがあれば更新して、なければ挿入します
SQL構文
MERGE INTO TEST USING TEST2 ON ( TEST.userid = TEST2.userid ) WHEN MATCHED THEN UPDATE SET username = TEST2.username, age = TEST2.age WHEN NOT MATCHED THEN INSERT (userid, username, age) VALUES (TEST2.userid, TEST2.username, TEST2.age);