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

Oracle-opdateringsforespørgsel for at opdatere poster i sekventiel rækkefølge

Denne løsning til det samme spørgsmål, som du refererede til, viser, hvordan 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 virker. Du kan ikke opdatere en visning, der indeholder en analytisk funktion som row_number - se Oracle 12C-dokumenter , se efter "Noter om opdateringer, der kan opdateres".



  1. SQL MIN og MAX resultater med tilføjet DISTINCT operator i MySQL

  2. Ved hjælp af CodeIgniter get_where til at kæde 'og' og 'eller' udsagn

  3. Kan vi bruge PHP-funktionen strtotime i Mysql Query

  4. Excel VBA:skrivning til mysql-database