Sie sollten die key presered view verwenden, um mit dieser Abfrage zu aktualisieren. Oracle erlaubt keine From-Klausel in der Update-Abfrage. Oder verwenden Sie Correlated Update oder Merge with Update only.
Korreliertes Update:
UPDATE table1 t1
SET (name, desc) = (SELECT t2.name, t2.desc
FROM table2 t2
WHERE t1.id = t2.id)
WHERE EXISTS (
SELECT 1
FROM table2 t2
WHERE t1.id = t2.id )