テーブル ( tblA
) とクエリ ( queryB
) があります。の出力はqueryB
のスキーマと一致しますtblA
。tblA
内容が等しくなるように更新したいqueryB
これに対する明らかな解決策は次のとおりです。
TRUNCATE TABLE tblA
INSERT INTO tblA
(queryB)
ただし、削除と挿入の回数を最小限に抑えたいと考えています。
からの結果には 3 つのケースがありますqueryB
。
- では
queryB
なくtblA
: 挿入 - で
queryB
、でtblA
: 何もしない - では
tblA
なくqueryB
: 削除
これまでのところ、MS SQL の MERGE サポートが[NOT] PRESENT IN TARGET/SOURCE
これに最適であることがわかりましたが、Oracle に相当するものは見つかりませんでした。
これを達成するエレガントな方法はありますか?