テーブル ( 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 に相当するものは見つかりませんでした。
これを達成するエレガントな方法はありますか?