備忘録。
IDとVALUEの2列構成のテーブルに対してMERGEを実行するサンプル。
MERGE INTO MyTable DST
USING (
WITH PARAM AS (
SELECT '1' AS ID, :VALUE AS VALUE from dual
)
SELECT * FROM PARAM
) SRC
ON (DST.ID = SRC.ID)
WHEN MATCHED THEN
UPDATE SET
DST.VALUE = SRC.VALUE
WHEN NOT MATCHED THEN
INSERT (DST.ID, DST.VALUE)
VALUES (SRC.ID, SRC.VALUE)