That syntax isn't valid in Oracle. Prior to Oracle 23C you can do this:
UPDATE table1 SET table1.value = (SELECT table2.CODE FROM table2 WHERE table1.value = table2.DESC) WHERE table1.UPDATETYPE='blah' AND EXISTS (SELECT table2.CODE FROM table2 WHERE table1.value = table2.DESC);
Or you might be able to do this:
UPDATE (SELECT table1.value as OLD, table2.CODE as NEW FROM table1 INNER JOIN table2 ON table1.value = table2.DESC WHERE table1.UPDATETYPE='blah' ) t SET t.OLD = t.NEW
It depends if the inline view is considered updateable by Oracle ( To be updatable for the second statement depends on some rules listed here ).
NEW From Oracle 23C, this syntax is allowed:
UPDATE table1 SET table1.value = table2.CODE FROM table2 WHERE table1.value = table2.DESC AND table1.UPDATETYPE='blah';