sql >> Databasteknik >  >> RDS >> Oracle

Oracle-uppdateringsfråga för att uppdatera poster i sekventiell ordning

Denna lösning till samma fråga som du refererade till visar hur man gör det:

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

Det fungerar. Du kan inte uppdatera en vy som innehåller en analytisk funktion som row_number - se Oracle 12C-dokument , leta efter "Anteckningar om uppdateringsbara vyer".



  1. Hur man tar bort en MySQL-databasanvändare i cPanel

  2. Hitta senaste dubbletter av ID med MySQL

  3. Kan lagrade procedurer returnera en resultatuppsättning?

  4. MySQL Välj efter senaste tidsstämpel