Oracle
 sql >> Base de données >  >> RDS >> Oracle

Requête de mise à jour Oracle pour mettre à jour les enregistrements dans un ordre séquentiel

Cette solution à la même question que vous avez référencée montre comment le faire :

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
);

Ça marche. Vous ne pouvez pas mettre à jour une vue qui contient une fonction analytique comme row_number - voir Documents Oracle 12C , recherchez "Remarques sur les vues pouvant être mises à jour".