Oracle
 sql >> Database >  >> RDS >> Oracle

Selezione di una riga casuale in Oracle

Crea la query interna:

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

e quindi nella query esterna seleziona 100 righe in un colpo, con rownum <= 100 .

Così:

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;