Consulta de actualización de Oracle para actualizar registros en orden secuencial

Tengo una tabla en Oracle SQL cuyos identificadores están en orden secuencial creciente, pero hay huecos en los identificadores debido a la edición, p. los identificadores son actualmente algo así como

22 
23 
24 
32 
33 
44 
...etc

Revisé una publicación y la solución proporcionada fue la siguiente:

update (select t.*, row_number() over (order by id) as newid) toupdate
    set id = newid

Solución proporcionada anteriormente.

Ahora mi consulta: 1) Supongo que falta la "cláusula From" en la consulta anterior.

Consulta actualizada:

update (select t.*, 
              row_number() over (order by emp_id) as newid 
       from employee t ) toupdate 
set emp_id = newid; 

2) Cuando ejecuto la consulta anterior, me da el error "La operación de manipulación de datos no es legal en esta vista".

¿Alguien puede explicar cómo funcionaron las soluciones mencionadas aquí? ¿Alguien puede publicar la consulta de actualización completa? Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta