[ Oracle ] ランダムなソート順でレコードを検索・取得する ( dbms_crypto.randominteger )

Pocket

ここでは、Oracle でランダムにレコードを検索・取得するサンプルを掲載しています。都度、適当に何でも良いから10件ほどランダムにレコードを取得したいといった場合に使用できます。

スポンサーリンク

ランダムなソート順でレコードを取得するサンプル SQL

select 
    * 
from 
    table1 
order by 
    dbms_crypto.randominteger --(Oracle10g以降)
-- または dbms_random.random(Oracle9まで)

今後 dbms_random.random は廃止予定となっているため使用しないようにしましょう

エラーコード 904, SQL 状態 42000: ORA-00904: : 無効な識別子です。

上記 SQL を実行して ORA-00904 が発生する場合は、接続ユーザーに dbms_crypto の 実行権限が付与されていない可能性が高いです。実行権限を与えるには、以下の SQL を発行します。

SQL> grant execute on dbms_crypto to ユーザー名;

権限付与が成功しました。
参考
スポンサーリンク


Pocket

One thought on “[ Oracle ] ランダムなソート順でレコードを検索・取得する ( dbms_crypto.randominteger )”

Leave a Comment

Your email address will not be published. Required fields are marked *