Lo que pasa es que me hice un procedimiento para llanar un campo con valores desde 0 a 'n' entonces:
segun la documentacion que lei, la instruccion
(TRUNC(dbms_random.VALUE(1,22178))
te entrega valores entre esos rangos "siempre". tabla fue poblada en base a una consulta, entonces siempre hay registros o coincidencias.
Otra cosa importante es decir que al hacer
select rownum from tabla where algo=algo te entrega el autoincrement inplicito que tiene oracle para las tablas.