如题:oralce 随机生成一万个四位随机数,要求每个都是唯一的(不重复)。

解决方案 »

  1.   

    如果没有生成规律确保唯一性,哪可能会导致这个数组多了以后在生成过程中的比对校验过慢.如果按你的说法按以下步骤:(不推荐)
    1.用随机函数生成一个若干位的随机数;
    2.校验其唯一性,如果已经有了则重新生成;推荐:
    1.生成需要的数组 int[10000]
    2.随机数取得其中的一组;
    3.将取得的这一组在数组中移除;
      

  2.   

    dbms_random.value(0,9999) 是这个意思吧
      

  3.   

    -- 生成 0000 到 9999,然后随机排序打印出来:
    with a as (select lpad(level-1,4,'0') as random_num, dbms_random.value(0,999) as rd
                 from dual
              connect by level <= 10000 )
    select a.random_num
      from a
    order by rd;