MERGE文実行時にORA-00904
Oracle で、MERGE 文の ON 句で指定したカラムを UPDATE 文の中に入れるとエラーになります。
MERGE INTO hoge ('aaa' AS col1, 'bbb' AS col2) prm ON (hoge.col1 = prm.col1) WHEN MATCHED THEN UPDATE SET col1 = prm.col1 ,col2 = prm.col2 WHEN NOT MATCHED THEN INSERT (col1, col2) VALUES (prm.col1, prm.col2)
というSQLを実行すると、3行目で「ORA-00904: 無効な識別子です」となり怒られます。しばらく気づかず数十分ハマりました。