Useful Oracle SQL…
Multiple Column Updates using IN clause: UPDATE table_name SET (col1, col2, col3) = (SELECT val1, val2, val3 FROM source_table WHERE condition) WHERE condition; MERGE statement for conditional updates/inserts: MERGE INTO target_table t USING source_table s ON (t.key = s.key) WHEN MATCHED THEN UPDATE SET t.col1 = s.col1, t.col2 = s.col2 WHEN NOT MATCHED THEN INSERT (col1, col2) VALUES (s.col1, s.col2); Using DEFAULT values in updates: UPDATE employees SET (salary, commission) = (DEFAULT, DEFAULT) WHERE department_id = 90; Updating with RETURNING clause to get modified values: UPDATE employees SET salary = salary * 1.1 WHERE department_id = 20 RETURNING employee_id, salary INTO :emp_id, :new_salary; Using row constructor expression: UPDATE table_name SET (col1, col2) = (SELECT * FROM (VALUES (val1, val2))); Conditional updates using CASE: UPDATE employees SET salary = CASE WHEN department_id = 10 THEN salary * 1.1 WHEN department_id = 20 THEN salary * 1.2 ELSE salary END; Using WITH…