sql >> Base de Datos >  >> RDS >> Oracle

Seleccionar una fila aleatoria en Oracle

Haz la consulta interna:

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

y luego, en la consulta externa, seleccione 100 filas de una sola vez, con rownum <= 100 .

Así:

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;