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 .