Gần đây tôi đã tìm hiểu về CTE trong SQL Server và đang cố gắng sử dụng nó trong PL/SQL. Tuy nhiên, tôi không cần những lợi ích lặp lại của nó, tôi muốn sử dụng nó thay cho việc tạo ra một khung nhìn và để cải thiện hiệu năng truy vấn. Chỉ cần tìm một số hướng về mã nào có thể tương tự.Có điều gì giống như Biểu thức bảng chung tồn tại trong PL/SQL không?
Trả lời
Trong Oracle này được gọi là subquery bao thanh toán, và nó hoạt động giống như trong SQL Server AFAIK:
with cte as (select * from emp)
select * from cte join dept on dept.deptno = cte.deptno;
Xem SELECT documentation và tìm kiếm cho "bao thanh toán".
+1: Được hỗ trợ từ 9i, truy vấn phụ không hỗ trợ phần đệ quy cho đến 11g (bây giờ là ANSI) vì Oracle đã hỗ trợ các truy vấn bằng cách sử dụng cú pháp CONNECT BY ... Tôi không nhớ khi PostgreSQL bắt đầu hỗ trợ cú pháp, có thể trong v8.x. Nhưng CTEs/Subquery Factoring không cải thiện hiệu năng truy vấn, chỉ cần cú pháp khác nhau cho các bảng có nguồn gốc/lượt xem nội tuyến. –
Rất cám ơn. Tôi đang sử dụng Oracle 8i mà sẽ giải thích lý do tại sao tôi nổi bật. Tôi đánh giá cao sự giúp đỡ! –
Hàm đệ quy của mệnh đề 'with' không được hỗ trợ cho đến 11g R2. (Không có sẵn trong 11g R1.) Xem: http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/wnsql.htm#sthref6 –
- 1. Có điều gì đó giống như find_if trong Java không?
- 2. Có điều gì giống như xuất khẩu Python không?
- 3. Có điều gì giống như một danh sách chung trong Cocoa/Objective-C không?
- 4. Biểu thức bảng chung trong Sub-Query
- 5. Có điều gì đó giống như __LINE__ trong Verilog không?
- 6. SQLite có hỗ trợ các biểu thức bảng chung không?
- 7. Biểu thức bảng chung, tại sao dấu chấm phẩy?
- 8. Có điều gì giống như JRebel cho .NET không?
- 9. Có điều gì giống như con trỏ trong Lúa?
- 10. Có điều gì cho Python giống như readability.js không?
- 11. Có điều gì giống như pngcrush cho GIF không?
- 12. Có điều gì giống như chỉ mục pmax không?
- 13. Có điều gì đó giống như bpython cho Ruby không?
- 14. Có một cái gì đó giống như Sprocket tồn tại cho Java
- 15. Biểu thức bảng chung (CTE) trong linq-to-sql?
- 16. Có điều gì giống như Restrictions.eq (đúng, sai) trong API tiêu chí không?
- 17. Có điều gì giống như SESSION trong ứng dụng Windows không?
- 18. biểu thức lambda cho tồn tại trong danh sách
- 19. Có điều gì giống như Trình nối tiếp CSV không? (tương tự như XmlSerializer)
- 20. Bảng điều khiển cuộn Google Maps giống như trong WPF
- 21. Có điều gì giống như GhostDoc cho C++
- 22. Có điều gì đó giống như Codecademy cho Java
- 23. Khi nào sử dụng Biểu thức Bảng chung (CTE)
- 24. Sự kiện bắt tay TLS trong Tomcat, có điều gì giống như vậy không?
- 25. Bảng 'MyDjango.django_admin_log' không tồn tại
- 26. Có điều gì giống như một mô hình chức năng không?
- 27. Cập nhật biểu mẫu dạng bảng Apex với PLSQL
- 28. Bất cứ điều gì giống như SciPy trong Ruby?
- 29. Kiểm tra xem bảng có tồn tại trong C#
- 30. Có điều gì tương tự với gsub tồn tại trong javascript không?
Đó là SQL chứ không phải PL/SQL. –