Oracle
 sql >> Database >  >> RDS >> Oracle

Query di aggiornamento Oracle per aggiornare i record in ordine sequenziale

Questa soluzione alla stessa domanda a cui hai fatto riferimento mostra come farlo:

update employee set emp_id = (
  with tab as (
    select emp_id, rownum r
    from   (select emp_id from employee order by emp_id)
  )
  select r from tab where employee.emp_id = tab.emp_id
);

Che funzioni. Non è possibile aggiornare una vista che contiene una funzione analitica come row_number - vedere Documenti Oracle 12C , cerca "Note sulle viste aggiornabili".