Трябва да използвате изглед със запазен ключ, за да актуализирате чрез тази заявка. Oracle не позволява клауза From в заявка за актуализиране Или използвайте корелирана актуализация или само сливане с актуализация.
Корелирана актуализация:
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 )