このクエリを使用して更新するには、キーの事前表示ビューを使用する必要があります。 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 )