Algo como:
Código SQL
[-]
update destino
set campo1 = (
select origen.campo1 from origen where destino.KEY = origen.KEY
),
set campo2 = (
select origen.campo2 from origen where destino.KEY = origen.KEY
)
...
donde
destino.KEY = origen.KEY significa que debes relacionar de alguna manera uno-a-uno ambas tablas. Lo malo aquí, es que requieres una subconsulta por cada campo.
Algunos motores, como MySQL permiten una modificación de la sentencia INSERT que sólo inserta nuevos registros y actualiza los ya existentes.
// Saludos