在你的工作中是否會為了某個活動要隨機取出一些符合條件的email或者手機號碼使用者,來頒發獲獎通知或其它訊息?本文以例項的方式來講解如何抽取隨機數的多種方法。
注意:如果tmp_1記錄比較多(10萬條以上),也可以找乙個約大於兩百行的表(假如是tmp_3)來生成tmp_2
以下是引用片段:
create table tmp_2 as select trunc(dbms_random.value(1,5000)) as id from tmp_3 where rownum<201; ]
5. tmp_1和tmp_2相關聯取得符合條件的200使用者
以下是引用片段:
tmp_2 t2 where t1.id=t2.id;
[ 注意:如果tmp_1記錄比較多(10萬條以上),需要在id欄位上建索引。]
以下是引用片段:
spool off;
6. 用完後,刪除臨時表tmp_1、tmp_2和序列號tmp_id。
以下是引用片段:
create table tmp_2 as select trunc(dbms_random.value(1,5000)) as id from tmp_3 where rownum<201; ]
講解Oracle裡抽取隨機數的多種方法
在你的工作中是否會為了某個活動要隨機取出一些符合條件的email或者手機號碼使用者,來頒發獲獎通知或其它訊息?本文以例項的方式來講解如何抽取隨機數的多種方法。假如是的話,可以用oracle裡生成隨機數的pl sql,目錄檔名在 oracle home rdbms admin dbmsrand.sql...
Oracle中隨機抽取N條記錄
一 oracle訪問資料的基本方法 1 全表掃瞄 full table scan 執行全表掃瞄,oracle讀表中的所有記錄,考查每一行是否滿足where條 件。oracle順序的讀分配給該錶的每乙個資料塊,且每個資料塊oracle唯讀一次.這樣全表掃瞄能夠受益於 多塊讀。2 取樣表掃瞄 sampl...
Oracle中隨機抽取N條記錄
一 oracle訪問資料的基本方法 1 全表掃瞄 full table scan 執行全表掃瞄,oracle讀表中的所有記錄,考查每一行是否滿足where條 件。oracle順序的讀分配給該錶的每乙個資料塊,且每個資料塊oracle唯讀一次.這樣全表掃瞄能夠受益於 多塊讀。2 取樣表掃瞄 sampl...