Le package dbms_rnadom dans oracle permet de générer des valeurs aléatoires entres -2^31 et 2^31, pour ce faire vous devez initialiser le générateur pseudo-aléatoire (il n'y a pas de génération aléatoire à 100% dans l'informatique) avec une valeur numérique :
SQL> exec dbms_random.initialize(34);
Procédure PL/SQL terminée avec succès.
La procédure initialize ne prend que des valeurs numériques comme paramètre, une autre procédure qui fait la même chose mais qu'est obsolète est la procédure SEED, le seul avantage de SEED est l'utilisation de chaine de caractère pour initialiser le générateur :
SQL> exec dbms_random.seed('bla bla bla..');
Procédure PL/SQL terminée avec succès.
Une fois le générateur initialisé vous pouvez générer des nombres en appelant la fonction value :
SQL> select dbms_random.value(100,150) from dual;
DBMS_RANDOM.VALUE(100,150)
--------------------------
106,250729
SQL>
La fonction value prend deux paramètres qui constituent la plage dans laquelle les nombres seront générés
SQL> exec dbms_random.initialize(34);
Procédure PL/SQL terminée avec succès.
La procédure initialize ne prend que des valeurs numériques comme paramètre, une autre procédure qui fait la même chose mais qu'est obsolète est la procédure SEED, le seul avantage de SEED est l'utilisation de chaine de caractère pour initialiser le générateur :
SQL> exec dbms_random.seed('bla bla bla..');
Procédure PL/SQL terminée avec succès.
Une fois le générateur initialisé vous pouvez générer des nombres en appelant la fonction value :
SQL> select dbms_random.value(100,150) from dual;
DBMS_RANDOM.VALUE(100,150)
--------------------------
106,250729
SQL>
La fonction value prend deux paramètres qui constituent la plage dans laquelle les nombres seront générés
0 comments:
Enregistrer un commentaire