在你的工作中是否會為了某個活動要隨機取出一些符合條件的EMAIL或者手機號碼用戶
如果是的話
用之前先要在sys用戶下編譯:
SQL>@/ORACLE_HOME/rdbms/admin/dbmsrand
它實際是在sys用戶下生成一個dbms_random程序包
使用dbms_random程序包
create sequence tmp_id increment by
create table tmp_
找到最大的id號
select max(id) from tmp_
假設為
execute dbms_random
或者
execute dbms_random
假設隨機取
create table tmp_
[ 說明
trunc函數對隨機數字取整
注意
create table tmp_
5. tmp_1和tmp_2相關聯取得符合條件的200用戶
select t1.mobileno,t1.email from tmp_1 t1,tmp_2 t2 where t1.id=t2.id;
[ 注意:如果tmp_1記錄比較多(10萬條以上),需要在id字段上建索引。Tw.WinGWit.CoM]
也可以輸出到文本文件:
set pagesize 300;
spool /tmp/200.txt;
select t1.mobileno,t1.email from tmp_1 t1,tmp_2 t2 where t1.id=t2.id order by t1.mobileno;
spool off;
6. 用完後,刪除臨時表tmp_1、tmp_2和序列號tmp_id。
From:http://tw.wingwit.com/Article/program/Oracle/201311/17209.html