ここでは、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 ユーザー名; 権限付与が成功しました。
ありがとうございます!助かった!
Thanks a lot! It helped me for the same issue I faced.