请问有用什么函数吗?

解决方案 »

  1.   

    select * from 
    (select ename,job,dbms_random.value()
           from emp
           order by dbms_random.value()) 
           where rownum <=5
      

  2.   

    貌似没有,或许你要用的是rownum.
      

  3.   

    写一个存储过程create or replace procedure random(num_random number) --要查询几条数据传个数
    as
    type v_cursor is ref cursor;  --定义目标数据类型
    v_random_cursor  v_cursor;  --定义游标类型
    begin
      for var in 1..num_random loop --用户FOR循环制定查询条数
        select emp into v_random_cursor from emp 
        --查询范围是1——10000的任意id 
        where exists(select id from emp where id between 1 and 10000); 
      end loop;
    --从游标中取出查询的结果输出
      ..........
    end random;