Я бы сделал это с помощью последовательности:
Допустим, это ваша таблица:
create table Table_A (columnA varchar2(100), columnB number);
Создайте последовательность следующим образом:
create sequence testS
MINVALUE 68900000
MAXVALUE 68999005
START WITH 68900000
INCREMENT BY 1;
И обновите свой Таблица, подобная этой:
update Table_A
set columnB = testS.nextval
where columnA = 'Body Number';
Вот небольшая DEMO
Если вы получаете сообщение об ошибке типа «TESTS.NEXTVAL превышает MAXVALUE и не могут быть созданы ... "тогда вы сначала отбросите последовательность следующим образом:
drop sequence testS;
, а затем создадите новую последовательность с новыми значениями MINVAL или MAXVAL или обоими. Например:
create sequence testS
MINVALUE 68800000
MAXVALUE 68999005
START WITH 68800000
INCREMENT BY 1;
Я изменил MINVAL с 68900000 на 68800000, и таким образом я позволил последовательности генерировать еще 100000 новых чисел, начиная с 68800000, а не с 68900000. В этом случае я также изменяю START Со значением до 68800000.