Я хочу заполнить столбец таблицы текущим целым числом, поэтому я подумываю использовать 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;
Итак, как мне сделать это с помощью оператора SQL, не прибегая к методу итерации курсора в PL / SQL?