我也学习学习,你用的Oracle是什么版本?我的816没有dbms_random这个包包

解决方案 »

  1.   

    B也是对的,我用的是Oracle8i Enterprise Edition Release 8.1.7.0.1,关键是原理,我不明白
      

  2.   

    1.trunc(dbms_random.value(0,10))取随机数1-10的整数部分,也就是随机取2条记录
    2.这个括号中的参数意义是百分比,上面的语句是从a中随机选取2%
    条记录,不过我在试的时候发现选的记录一会儿
    多,一会少.不是很明白
      

  3.   

    蓝博,trunc(dbms_random.value(0,10)),我是知道的,关键是order by 这个随机数就可以随即吗?为什么呢?3X!
      

  4.   

    oreder by trunc(dbms_random.value(0,10)),是按照表中的第几个字段排序
    假设a表的结构,id,name
    select * from a order by 1=select * from a order by id
      

  5.   

    蓝博:原来是这个原因啊!如果oreder by trunc(dbms_random.value(0,100000)),取出一个比较大的随机数,比如1000,而我得表并没有这么多字段,那oracle怎么order by?用哪个字段order by呢?