Aún asi, creo que en FireBird esta haciendo falta algo (Si es que ya no existe y no me he dado cuenta), ¿Que sucederia si queremos actualizar varios campos de esta manera?, abria que hacer lo siguiente:
Código SQL
[-]update ventas_new a set a.nombre = (select b.nombre from ventas_old b where b.id = a.id), a.apellido = (select b.apellido from ventas_old b where b.id = a.id)
Esto debe ser muy lento... deberia existir una manera de hacerlo diferente... como creo que lo he visto en otros motores, algo como:
Código SQL
[-]update ventas_new a set a.nombre = b.nombre, a.apellido=b.apellido
from inner join ventas_old b on (b.id = a.id)
No se, quizá es una idea loca y hasta sin sentido, como quizá sea algo que he observado en algún otro lugar, pero creo que deberia existir.