O 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;
Essa sintaxe não é SQL padrão, mas é muito mais conveniente para esse tipo de consulta do que SQL padrão. Acredito que a Oracle (pelo menos) aceite algo semelhante.