अंगूठे का नियम है, यदि आप इसे एक SQL में कर सकते हैं, तो यह आम तौर पर इसे एकाधिक SQL कथनों में करने से बेहतर प्रदर्शन करेगा।
अगर यह काम करता है तो मैं MERGE के साथ जाऊंगा।
साथ ही - एक अन्य सुझाव:आप अपने स्टेटमेंट में डेटा को दोहराने से बच सकते हैं, जैसे:
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)