SQLite 的遞歸查詢功能
儘管存在最初的限制,SQLite 現在透過在3.8.3及以上版本。此增強功能可以製定遍歷層次結構的強大遞歸查詢。
遞歸CTE 實作:
利用WITH 子句,您可以定義遞歸CTE,如下所示:
WITH RECURSIVE CTE_Name AS ( SELECT ... UNION ALL SELECT ... ) SELECT ... FROM CTE_Name
此語法允許您定義一個遞歸查詢迭代擴展,類似傳統的SQL 遞歸。
3.8.3 之前的遞迴查詢模擬:
在 3.8.3 版本之前,SQLite 本身不支援遞歸 CTE 。要模擬遞歸,您必須採用過程方法:
檢索初始行和子部分ID:
迭代檢索子部分資料:
繼續迭代:
以上是SQLite 如何處理遞迴查詢,尤其是 3.8.3 版本之前和之後?的詳細內容。更多資訊請關注PHP中文網其他相關文章!