DBMS_RANDOM システムパッケージは、組み込みのランダムナンバージェネレーターを提供します。DBMS_RANDOM は暗号化には使用されません。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
DBMS_RANDOM権限の説明
このシステムパッケージはSYSユーザーでインストールする必要があります。デフォルトでは、現在のユーザー名、現在時刻(秒単位)、および現在のセッションでパッケージが初期化されます。
DBMS_RANDOMの使用方法
DBMS_RANDOM.RANDOMは [-2^31,2^31)の範囲内で整数をランダムに生成します。DBMS_RANDOM.VALUEは [0,1)の範囲内で38ビットの精度を持つ数値をランダムに生成します。
DBMS_RANDOM は明示的に初期化できますが、ランダムナンバージェネレーターを呼び出す前に初期化する必要はありません。明示的な初期化を実行しない場合、日付、ユーザーID、プロセスIDを使用して自動的に初期化されます。
同じシードを使用してこのパッケージに2回シード設定を行い、同じ方法でアクセスすると、どちらの場合も同じ結果が生成されます。
テストなどの特定の状況では、毎回の実行でランダムな数列が同じであることを望む場合があります。そのような場合、DBMS_RANDOM.SEED を呼び出してオーバーロードし、ジェネレーターに定数を埋め込むことができます。毎回異なる出力を生成するには、「Seed」の呼び出しを無視するだけで、システムが適切なシードを選択します。
DBMS_RANDOMサブプログラムの概要
次の表は、OceanBaseデータベースの現在のバージョンでサポートされている DBMS_RANDOM サブプログラムとその簡潔な説明をリストしたものです。