I am in a process to migrate all MS-SQL queries to oracle. As I have bunch of complex and large queries to migrate – I have used ‘Scratch-Editor” of SQL Developer.
The Scratch Editor converts every ‘UPDATE’ statement of MSSQL queries to ‘MERGE’ statement of oracle.

e.g:
MS SQL:
UPDATE table1
SET table1.column = table2.expression1
FROM table1
INNER JOIN table2
ON (table1.column1 = table2.column1)
[WHERE conditions];

Converted above query to Oracle :
MERGE INTO table1
USING (SELECT table1.ROWID row_id, table2.expression1
FROM table1
JOIN table2
ON ( table1.column1 = table2.column1 ) ) src
ON ( table1.ROWID = src.row_id )
WHEN MATCHED THEN UPDATE SET COLUMN_ = src.expression1;


Any idea why the oracle engine has been designed to converts update to merge?

I want convert ‘UPDATE’ statement of MSSQL queries to ‘UPDATE’ statement of oracle. Any idea how to achieve that?

Please provide your suggestion?scratch_editor.jpg