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

Truy vấn đệ quy trong Oracle

Trong Oracle, điều này được thực hiện dễ dàng bằng cách sử dụng CONNECT BY

select message_id, parent_id, message_content
from messages
start with message_id = 97 -- this is the root of your conversation
connect by prior message_id = parent_id;

Thao tác này sẽ đưa cây đi từ trên xuống dưới.

Nếu bạn muốn dẫn cây từ một thông điệp đến gốc, hãy thay đổi start withconnect by phần:

select message_id, parent_id, message_content
from messages
start with message_id = 100 -- this is the root of your conversation
connect by prior parent_id = message_id; -- this now goes "up" in the tree


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Quá trình nâng cấp từng bước lên R12.2 Nâng cấp phần -3

  2. Làm cách nào để lấy tham số đầu ra thủ tục được lưu trữ là một mảng để hoạt động?

  3. Cách kết nối với cơ sở dữ liệu Oracle 11 từ. mạng

  4. Trình tự Oracle không tạo ra số liên tục

  5. Xuất CLOB sang tệp văn bản bằng Oracle SQL Developer