例項講解Oracle裡抽取隨機數的多種方法

2021-05-02 05:40:03 字數 610 閱讀 1098

在你的工作中是否會為了某個活動要隨機取出一些符合條件的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...