sql >> Base de Datos >  >> RDS >> Oracle

Declaración de ACTUALIZACIÓN:vuelva a evaluar la subconsulta después de cada SET

Trate de usar la siguiente declaración. Su tabla no permite identificar una fila, por ejemplo, con ID =2, por lo que para vincular la tabla con ROW_NUMBER puede 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
          )

Demostración de SQLFiddle