mysql 使用存儲過程實現樹節(jié)點的獲取方法
如圖:
表數據
這樣的一棵樹,如何獲取“高寅瑞”下的所有節(jié)點(一條sql語句是肯定搞不定的)
通過存儲過程來寫
DELIMITER //CREATE FUNCTION `getChildLst`(rootId INT) RETURNS varchar(1000) READS SQL DATA BEGIN DECLARE sTemp VARCHAR(1000); DECLARE sTempChd VARCHAR(1000); SET sTemp = ’$’; SET sTempChd =cast(rootId as CHAR); WHILE sTempChd is not null DO SET sTemp = concat(sTemp,’,’,sTempChd); SELECT group_concat(id) INTO sTempChd FROM document_file_name where FIND_IN_SET(pId,sTempChd)>0; END WHILE; RETURN sTemp; END //
創(chuàng)建如上存儲過程
select * from document_file_name where find_in_set(id, getChildLst(1));
總結
到此這篇關于mysql 使用存儲過程實現樹節(jié)點的獲取的文章就介紹到這了,更多相關mysql 存儲過程樹節(jié)點獲取內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. MySQL中文亂碼問題解決方案2. mariadb 在低配 VPS 上崩潰問題處理方案3. oracle分區(qū)表創(chuàng)建(自動按年、月、日分區(qū))實戰(zhàn)記錄4. MySQL中sum函數使用的實例教程5. mysql8.0.20數據目錄遷移的方法6. 在SQL Server中謹慎導入導出大容量數據(一)7. Microsoft Office Access設置行高的方法8. 用shell抽取,更新db2的數據9. Microsoft Office Access設置默認日期為當前日期的方法10. SQL Server 2005使用基于行版本控制的隔離級別初探(3) -- SNAPSHOT
