我目前有一个包含大约600,000行的oracle表(lovalarm)。我需要能够运行一个查询,它将遍历每一行并将字段(lovsiteid)更新为14300和17300之间的随机数。
到目前为止,我有:
update lovalarm
set lovsiteid = (select TRUNC(dbms_random.value(14300,17300)) FROM dual)
可悲的是,这会选择一个随机数,然后用相同的数字更新所有行,这不是我所追求的!
有人能指出我正确的方向吗?
非常感谢, 帽
答案 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中运行