从zyz2表中随机取出两条纪录:
SQL> select * from zyz2;
ID P1 P2
---------- ---------- ----------
1 211 212
2 12 14
4 241 242
2 145
1 11
3 17 26 rows selected.Elapsed: 00:00:00.50
SQL> select id,p1,p2 from (select zyz2.*,dbms_random.random num from zyz2 order
by num) where rownum<3; ID P1 P2
---------- ---------- ----------
2 12 14
1 211 212Elapsed: 00:00:00.30
SQL> select id,p1,p2 from (select zyz2.*,dbms_random.random num from zyz2 order
by num) where rownum<3; ID P1 P2
---------- ---------- ----------
3 17 2
2 12 14
SQL> select * from zyz2;
ID P1 P2
---------- ---------- ----------
1 211 212
2 12 14
4 241 242
2 145
1 11
3 17 26 rows selected.Elapsed: 00:00:00.50
SQL> select id,p1,p2 from (select zyz2.*,dbms_random.random num from zyz2 order
by num) where rownum<3; ID P1 P2
---------- ---------- ----------
2 12 14
1 211 212Elapsed: 00:00:00.30
SQL> select id,p1,p2 from (select zyz2.*,dbms_random.random num from zyz2 order
by num) where rownum<3; ID P1 P2
---------- ---------- ----------
3 17 2
2 12 14
解决方案 »
- oracle类型问题
- java程序中修改clob类型的数据!!!
- 请教:在不安装ORACLE的情况下,如何执行ORACLE存储过程??
- ORACLE initialization or shutdown in progress
- DOS下連接Oracle數據庫--在綫等--急
- 如何在同一台客户机上连接两台不同字符集的数据库?
- 如何列出某个字段数据中数字前边的数据?
- 急死俺了
- 我把spfile弄丢了,数据库没法启动,谁有办法?
- 怎样把varchar2的字段改成Clob或nvarchar2????????????
- 多个表 union all ,如何按以大到小的排序
- (11)菜鸟问题!!!容易拿分!!
todttm char(14);
rndinit number;
rnd number;
keta number := 5; --随机数位数
begin todttm := to_char(sysdate, 'yyyymmddhh24miss');
rndinit := to_number(substr(todttm, 1, 8)) + to_number(substr(todttm, 9, 6)); dbms_random.initialize(rndinit); dbms_random.seed(rndinit); rnd := to_number(substr(to_char(dbms_random.random()), - keta, keta));
dbms_output.put_line ('-- 处理结果 --');
dbms_output.put_line ('随机数1 = ' || rnd); rnd := to_number(substr(to_char(dbms_random.random()), - keta, keta));
dbms_output.put_line ('随机数2 = ' || rnd); rnd := to_number(substr(to_char(dbms_random.random()), - keta, keta));
dbms_output.put_line ('随机数3 = ' || rnd); dbms_random.terminate;end;
/