Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Perilaku Oracle yang aneh - gabung silang dalam CTE rekursif berfungsi dengan koma tetapi tidak dengan klausa gabung silang

Menggunakan kueri rekursif pertama, Anda akan mendapatkan 5 catatan, ketika Anda mencoba untuk menggabungkan silang pada hasil rekursif, setiap kali mengulangi data, untuk setiap iterasi sesuai dengan nilai 5, nilai-nilai akan di-loop satu sama lain menghasilkan, ORA-32044: cycle detected while executing recursive WITH query kesalahan. Sebagai gantinya Anda harus menyilangkan hasil rekursif seperti di bawah ini,

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Anda menjalankan SQL dari dalam skrip bash?

  2. Bagaimana mengatasi ORA-29913 dengan tabel eksternal

  3. Menghubungkan ke Oracle DB berkemampuan SSL melalui Java (JDBC)

  4. Bagaimana Anda menetapkan hasil ekspresi ke variabel substitusi SQL?

  5. Apakah pembaruan SQL akan memengaruhi subquery-nya selama pembaruan dijalankan?