Usando la primera consulta recursiva, obtendrá 5 registros, cuando intente realizar una unión cruzada en el resultado recursivo, cada vez que itera los datos, para cada iteración de acuerdo con el valor 5, los valores se enlazan entre sí, lo que resulta en, ORA-32044: cycle detected while executing recursive WITH query
error. En su lugar, debe unirse al lado del resultado recursivo como se muestra a continuación,
with r (x) as (
select 1 as x from dual
union all
select x + 1 from r,dual where x < 5
)
select * from r
cross join r;