Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Consulta de atualização do Oracle para atualizar registros em ordem sequencial


Esta solução para a mesma pergunta que você mencionou mostra como fazer isso:
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
);

Isso funciona. Você não pode atualizar uma visualização que contém uma função analítica como row_number - consulte Documentos do Oracle 12C , procure por "Notas sobre exibições atualizáveis".