最初の再帰クエリを使用すると、5つのレコードが取得されます。再帰結果でクロス結合を試みると、データを反復するたびに、値5に従って反復するたびに、値が互いにループし、結果として<になります。 code> ORA-32044:再帰的なWITHクエリの実行中にサイクルが検出されました エラー。代わりに、以下のように再帰的な結果の外側でクロス結合する必要があります。
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;