【问题标题】:insert a random number into each row in table在表格的每一行中插入一个随机数
【发布时间】:2018-02-06 07:29:20
【问题描述】:

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

到目前为止我有:

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

遗憾的是,这会选择一个随机数,然后用相同的数字更新所有行,这不是我想要的!

谁能指出我正确的方向?

非常感谢, 上限

【问题讨论】:

    标签: sql database oracle


    【解决方案1】:

    只是不使用子查询:

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

    【讨论】:

      【解决方案2】:

      试试这个:

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

      在 MySQL 中工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-02
        • 2015-10-22
        • 2014-09-19
        相关资源
        最近更新 更多