Você deve usar a visualização de chave pré-selecionada para atualizar usando esta consulta. O Oracle não permite a cláusula From na consulta de atualização ou usa atualização correlacionada ou mesclar apenas com atualização.
Postar
Atualização correlacionada:
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 )