OracleのMergeは、あまり使わないせいで
すぐ構文を忘れてしまいます。
(昨日の勉強会でも質問されて回答できませんでした。。。)
なので、備忘録。
Merge Into 対象テーブルA A
using 対象テーブルB B
on ( A.結合項目 = B.結合項目)
when mached then
update set
A.更新カラム = B.更新元カラム
when not mached then
insert (
更新カラム
)values (
B.更新元カラム
);
これで、以下の処理が上記1個のSQLでできます。
カーソル作る
ループ(フェッチ)
存在チェック
あったらUPDATE
なければINSERT
0 件のコメント:
コメントを投稿