Row_Number() ist ja nur eine temporäre Nummer.
Du kannst per "create sequence" einen "Generator" mit einem Startwert erstellen und per "next value for mysequence" den Wert hochzählen lassen.
Allerdings gibts beim Update keinen Order by, so dass die Zuweisung der Nummer vom gewählten Index der "Update ... Where"-Bedingung abhängt.