Ved at bruge den første rekursive forespørgsel, vil du få 5 poster, når du forsøger at krydse join på det rekursive resultat, hver gang det itererer dataene, for hver iteration ifølge værdien 5, bliver værdierne sløjfet mod hinanden, hvilket resulterer i, ORA-32044: cycle detected while executing recursive WITH query
fejl. I stedet skal du krydse join uden for det rekursive resultat som nedenfor,
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;