テーブルの列に実行中の整数を入力したいので、ROWNUM を使用することを考えています。ただし、のような他の列の順序に基づいてデータを入力する必要がありますORDER BY column1, column2
。残念ながら、Oracle は次のステートメントを受け入れないため、これは不可能です。
UPDATE table_a SET sequence_column = rownum ORDER BY column1, column2;
次のステートメント (WITH 句を使用しようとする試み) もありません。
WITH tmp AS (SELECT * FROM table_a ORDER BY column1, column2)
UPDATE tmp SET sequence_column = rownum;
では、PL/SQL でカーソル反復法に頼らずに SQL ステートメントを使用してそれを行うにはどうすればよいでしょうか。