Naja, das geht ja auch:

update v#vsta00
set vvswg0 = coalesce(select budget
from budms09 where kdnr = vskdnr AND 'BUD99' = vstnr), vvswg0)

Mit dem exists reduzierst du nur die Anzahl Updates, wass ggf. schneller wird.