Oracle
 sql >> Datenbank >  >> RDS >> Oracle

UPDATE-Anweisung:Unterabfrage nach jedem SET neu auswerten

Versuchen Sie, die folgende Aussage zu verwenden. Ihre Tabelle erlaubt es beispielsweise nicht, eine Zeile mit ID=2 zu identifizieren. Um die Tabelle also mit ROW_NUMBER zu verknüpfen, können Sie 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
          )

SQLFiddle-Demo