sql >> Databáze >  >> RDS >> Oracle

Aktualizační dotaz Oracle pro aktualizaci záznamů v sekvenčním pořadí

Toto řešení na stejnou otázku, na kterou jste odkazovali, ukazuje, jak to udělat:

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

To funguje. Nelze aktualizovat pohled, který obsahuje analytickou funkci jako row_number – viz Dokumenty Oracle 12C , vyhledejte "Poznámky k aktualizovatelným zobrazením".



  1. Protokol transakcí serveru SQL, část 1:Základy protokolování

  2. LOAD DATA INFILE na vzdáleném počítači

  3. postgres - kde v (seznam) - sloupec neexistuje

  4. Podmínka IF ve výběru mého dotazu SQL