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