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

Instrução UPDATE:reavalie a subconsulta após cada SET


Tente usar a seguinte declaração. Sua tabela não permite identificar uma linha, por exemplo, com ID=2, portanto, para vincular a tabela com ROW_NUMBER, você pode usar ROWID
UPDATE
Test 
SET id = (SELECT RN FROM
                     (SELECT ROW_NUMBER() 
                             OVER (ORDER BY ID) as RN 
                             FROM Test
                     ) T1
                     WHERE T1.RowID=Test.RowID
          )

Demonstração do SQLFiddle