Bonjour,
Mon problème ; générer une liste de nombres aléatoire (sur 10 positions) unique.
J'ai pensé à DBMS_RANDOM, mais je ne connais pas ce package. De même comment s'assurer de l'unicité des nombres générés ?
Merci.
Bonjour,
Mon problème ; générer une liste de nombres aléatoire (sur 10 positions) unique.
J'ai pensé à DBMS_RANDOM, mais je ne connais pas ce package. De même comment s'assurer de l'unicité des nombres générés ?
Merci.
Exemple pour générer un nombre aléatoire entre 0 et 9:
sur 10 positions:SELECT round(dbms_random.value,1) * 10 FROM dual;
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT round(dbms_random.value * 10000000000) FROM dual ;
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
Bonjour et merci
Aspect aléatoire : cela répond à une partie du problème
Sous-question
Qu'en est-il de l'unicité des nombres générés. Ils doivent-être absolument unique.
Merci
Insères-tu ces valeurs dans une table ?
Si oui :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 loop begin select round(dbms_random.value * 10000000000) into valeur FROM dual; select 1 into v_exist from matable where macol = valeur; exception when no_data_found then exit; end; end loop;
Un problème sans solution est un problème mal posé
Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
Bonjour,
Oui, effectivement, cette information sera enregistrée dans une table
Merci
Bonjour,
je me permet de réveiller ce topic car ma question est à peu près la même.![]()
Je dois générer un nombre aléatoire sur 5 chiffres donc sous la forme, et entre, 00001 et 99999.
J'ai donc essayé de générer un nombre entre 1 et 99999 mais je n'ai pas réussi, et après il faut que si le nombre n'est pas sur 5 chiffres, que je complète par des 0.
Merci
EDIT : j'ai trouvé![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT SUBSTR(dbms_random.value,2,5) FROM dual;
Code : Sélectionner tout - Visualiser dans une fenêtre à part select To_char(Trunc(dbms_random.value(1,99999)),'00000') from dual
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager