aturan praktis adalah, jika Anda dapat melakukannya dalam satu SQL, biasanya kinerjanya akan lebih baik daripada melakukannya dalam beberapa pernyataan SQL.
Saya akan menggunakan MERGE jika berhasil.
Juga - saran lain:Anda dapat menghindari pengulangan data dalam pernyataan Anda, misalnya:
MERGE INTO table
USING (SELECT 'some_id' AS newid,
'some_val' AS newval
FROM dual)
ON (rowid = newid)
WHEN MATCHED THEN
UPDATE SET colname = newval
WHEN NOT MATCHED THEN
INSERT (rowid, colname)
VALUES (newid, newval)