Oracle
 sql >> Base de données >  >> RDS >> Oracle

Sélection d'une ligne aléatoire dans Oracle

Effectuez la requête interne :

select a_id, dbms_random.value() rnd from tableA order by rnd

puis dans la requête externe, sélectionnez 100 lignes en une seule fois, avec rownum <= 100 .

Comme ceci :

insert into tableX
select
    rownum,
    round(dbms_random.value(100,999), 0),
    a_id
from
    (
      SELECT a_id, dbms_random.value() rnd
      FROM tableA
      ORDER BY rnd
    )
where rownum <= 100;