Не мисля, че имаш нужда от примката. Предполагам, че идентификаторите ви са първични ключове и не сте искали да повторите манипулацията няколко пъти в примера си.
Ще работи ли нещо подобно?
Редактиране според коментара на Raj A. Това ще актуализира само редове, където едно от другите полета е променено. Имайте предвид, че това няма да актуализира редове, където единият е NULL, а другият не е NULL.
MERGE INTO final T
USING ( SELECT id, score, crank, urank FROM test ) S
ON ( S.vid = T.id AND
( S.crank != T.crank OR S.score != T.score OR S.urank != T.urank ))
WHEN MATCHED SET crank = S.crank, score = S.score,
crank = S.crank, urank = S.urank
WHEN NOT MATCHED THEN INSERT
[... not sure what you want to do in this case ...]