Als u de eerste recursieve query gebruikt, krijgt u 5 records, wanneer u probeert te cross-join op het recursieve resultaat, elke keer dat de gegevens worden herhaald, voor elke iteratie volgens de waarde 5, worden de waarden tegen elkaar herhaald, wat resulteert in, ORA-32044: cycle detected while executing recursive WITH query
fout. In plaats daarvan moet je het recursieve resultaat kruisen, zoals hieronder,
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;