вставить случайное число в каждую строку таблицы - PullRequest
2 голосов
/ 04 января 2011

В настоящее время у меня есть таблица оракула (lovalarm), содержащая около 600 000 строк. Мне нужно иметь возможность выполнить запрос, который будет циклически проходить по каждой строке и обновлять поле (lovsiteid) до случайного числа между 14300 и 17300.

Пока у меня есть:

update lovalarm
set lovsiteid = (select TRUNC(dbms_random.value(14300,17300)) FROM dual)

К сожалению, это выбирает случайное число, а затем обновляет все строки с одинаковым номером, что не совсем то, что я после!

Кто-нибудь может указать мне правильное направление?

Большое спасибо, Cap

Ответы [ 2 ]

7 голосов
/ 04 января 2011

Просто не используйте подзапрос:

update lovalarm
set lovsiteid = TRUNC(dbms_random.value(14300,17300))
0 голосов
/ 04 января 2011

Попробуйте:

update lovalarm set lovsiteid = (select FLOOR(RAND() * (17300 - 14300) + 14300))

работает в MySQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...