在表中的每一行中插入一个随机数

时间:2011-01-04 16:35:18

标签: sql database oracle

我目前有一个包含大约600,000行的oracle表(lovalarm)。我需要能够运行一个查询,它将遍历每一行并将字段(lovsiteid)更新为14300和17300之间的随机数。

到目前为止,我有:

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

可悲的是,这会选择一个随机数,然后用相同的数字更新所有行,这不是我所追求的!

有人能指出我正确的方向吗?

非常感谢, 帽

2 个答案:

答案 0 :(得分:7)

不要使用子查询:

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

答案 1 :(得分:-1)

试试这个:

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

在MySQL中运行