I have the following query and would like to some advice on how to transform it to conventional update that will not sacrifice performance of the query.
MERGE INTO TABLE_A A
USING (SELECT INSTR_ID,INSTR_DESC,INSTR_USAGE FROM TABLE_B WHERE INSTR_ID=XXX AND INSTR_USAGE IS NOT NULL) B
ON (A.INSTR_ID=B.INSTR_ID AND A.INSTR_DESC=B.INSTR_DESC)
WHEN MATCHED THEN UPDATE SET
A.INSTR_USAGE=B.INSTR_USAGE;
COMMIT;
EDIT:
Will this work?
UPDATE TABLE_A A
SET A.INSTR_USAGE = (SELECT INSTR_USAGE FROM TABLE_B WHERE INSTR_ID=XXX AND INSTR_USAGE IS NOT NULL )
WHERE EXISTS (SELECT 1 FROM TABLE_B WHERE A.INSTR_ID=B.INSTR_ID AND A.INSTR_DESC=B.INSTR_DESC);