Postgres permite:
UPDATE dummy
SET customer=subquery.customer,
address=subquery.address,
partn=subquery.partn
FROM (SELECT address_id, customer, address, partn
FROM /* big hairy SQL */ ...) AS subquery
WHERE dummy.address_id=subquery.address_id;
Esta sintaxis no es SQL estándar, pero es mucho más conveniente para este tipo de consulta que SQL estándar. Creo que Oracle (al menos) acepta algo similar.