[ORACLE] Zufallsgenerator mit PL/SQL - Lösung

Von: , Frage gestellt am Mi, 31. Jan 2001

Hallo zusammen,

vor ein paar Wochen bekam ich eine wer-weiss-was Anfrage. Der Frager suchte eine Möglichkeit, mit PL/SQL Zufallszahlen zu erzeugen. Leider bekam er keine befriedigende Antwort und wollte einen work-around mit Java versuchen.

Inzwischen habe ich eine Lösung gefunden, die für den Frager, die ehemals Befragten und Andere interessant sein könnte:

-- Der Zufallsgenerator wird mit dem Package DBMS_RANDOM erzeugt.
-- Um dieses nutzen zu können, müssen folgende Skripte laufen
-- (Anmeldung als sys nötig!) :

@%oracle_home%\rdbms\admin\utlraw
@%oracle_home%\rdbms\admin\prvtrawb.plb
@%oracle_home%\rdbms\admin\dbmsoctk
@%oracle_home%\rdbms\admin\prvtoctk.plb
@%oracle_home%\rdbms\admin\dbmsrand

-- Wenn alles gut gegangen ist, sollte diese Anweisung funktionieren :

select text from all_source
where name = 'DBMS_RANDOM'
and type = 'PACKAGE'
order by line
/

-- Die Zahlen (-99999999 bis 99999999) werden wie folgt ausgegeben:

execute dbms_random.seed(12345678);

declare
my_random_number BINARY_INTEGER;
begin
my_random_number := dbms_random.random;
dbms_output.put_line(my_random_number);
end;
/

-- Ende der Anweisungen

Ich wünsche euch viel Spass damit und hoffe von euren Erfahrungen zu hören.

Gruß Janus

PS: Mehr Infos unter http://oradoc.photo.net/ora81/DOC/server.815/a68001/... und unter http://osi.oracle.com/~tkyte/Misc/Random.html .

0 Antworten zu dieser Frage

    Keine passende Antwort gefunden? Jetzt eigene Frage stellen!