Pomocí prvního rekurzivního dotazu získáte 5 záznamů, když se pokusíte křížit spojení na rekurzivním výsledku, pokaždé, když iteruje data, pro každou iteraci podle hodnoty 5 se hodnoty zacyklí proti sobě, což má za následek, ORA-32044: cycle detected while executing recursive WITH query
chyba. Místo toho musíte rekurzivní výsledek přeškrtnout, jak je uvedeno níže,
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;