問題:
假設您有一個物料清單(BOM) ,其中包含項目及其父ID。目標是以樹狀結構的形式檢索項目的層次表示。使用典型的單級查詢或遞歸函數可能效率較低。
解決方案:
MySQL 中的 SQL 語言本身不支援遞迴查詢。為了克服此限制,可以建立自訂預存程序 (SP) 來實現樹遍歷功能。
建議的SP:
以下SP 可用來遍歷樹物料清單tree:
用法:
要使用SP,請依照下列步驟操作步驟:範例:
例如,如果您有一個包含以下資料的BOM 表:+----+------+ | item | parent | +----+------+ | 1 | 0 | | 2 | 1 | | 3 | 1 | | 4 | 3 | | 76 | 3 | +----+------+
[ { "item": 1, "children": [ { "item": 2, "children": [] }, { "item": 3, "children": [ { "item": 4, "children": [] }, { "item": 76, "children": [] } ] } ] } ]
以上是MySQL預存程序如何有效率地遍歷分層BOM樹?的詳細內容。更多資訊請關注PHP中文網其他相關文章!