Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Hành vi kỳ lạ của Oracle - tham gia chéo trong CTE đệ quy hoạt động với dấu phẩy nhưng không với mệnh đề tham gia chéo

Sử dụng truy vấn đệ quy đầu tiên, bạn sẽ nhận được 5 bản ghi, khi bạn cố gắng kết hợp chéo trên kết quả đệ quy, mỗi lần nó lặp lại dữ liệu, đối với mỗi lần lặp theo giá trị 5, các giá trị được lặp lại với nhau dẫn đến ORA-32044: cycle detected while executing recursive WITH query lỗi. Thay vào đó, bạn phải gạch bỏ kết quả đệ quy như bên dưới,

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. Xếp tầng Xóa truy vấn

  2. Perl DBI Error Msg:Không thể gọi phương thức selectcol_arrayref trên một giá trị không xác định

  3. Cách mã hóa dữ liệu trong Oracle bằng PL SQL

  4. Cách hiệu quả để cập nhật tất cả các hàng trong bảng

  5. SQL - duy trì thứ tự dựa trên các tham số truy vấn