PLSQL générer entier aléatoire
Dans Oracle Sql developer 11g, comment puis-je générer un nombre entier aléatoire et l'assigner à une variable? C'est ce que j'ai essayé jusqu'à présent:
S_TB := SELECT dbms_random.value(1,10) num FROM dual;
Avec ce code je l'ai eu d'erreur:
S_TB := SELECT dbms_random.value(1,10) num FROM dual
Error report -
Unknown Command
Quelle est la bonne façon de résoudre mon problème?
Vous devez vous connecter pour publier un commentaire.
Variables nécessitent PL/SQL; il n'est pas clair à partir de votre question, si votre code est un bon PL/SQL bloc. En PL/SQL variables sont renseignées à partir de requêtes à l'aide de la DANS la syntaxe plutôt que de la syntaxe que vous utilisez.
Bien, vous n'avez pas besoin d'utiliser la syntaxe de la requête. Ceci est valable, et une meilleure pratique:
Alternativement, Vous pouvez créer une fonction pour générer des nombres aléatoires.
Ceci peut être utilisé n'importe où dans le code.
De SORTIE:
Fonction créée.
SQL> sélectionnez Aléatoire from dual;
ALÉATOIRE
SQL> sélectionnez Aléatoire from dual;
ALÉATOIRE
Si vous voulez obtenir un nombre aléatoire de n chiffres que vous pouvez faire ce
Pour un ensemble de nombres entiers consécutifs de façon aléatoire uniformément distribué (dans l'exemple ci-dessous entre 1 et 10), je propose:
Sinon, je vais involontairement restreindre le premier et le dernier nombre dans l'ensemble à la moitié de la probabilité d'être choisi comme le reste de l'ensemble.
Entiers:
Entiers positifs:
-- DBMS_RANDOM.VALEUR Donne la valeur aléatoire au sein de la gamme.