sql >> データベース >  >> RDS >> Oracle

Oracleの奇妙な動作-再帰CTEのクロス結合はコンマで機能しますが、クロス結合句では機能しません

    最初の再帰クエリを使用すると、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; 
    


    1. Postgres-レコードが見つからない場合、更新時にエラーを返します

    2. SQL Server2016SP1のメモリ制限

    3. ToadforMySQLでSELECTステートメントの実行中にエラーが発生する

    4. CodeIgniter-エラー番号:1146(CREATE TABLEコマンドの実行後にテーブルが存在しません)