mysql 使用存儲(chǔ)過程實(shí)現(xiàn)樹節(jié)點(diǎn)的獲取方法
如圖:
表數(shù)據(jù)
這樣的一棵樹,如何獲取“高寅瑞”下的所有節(jié)點(diǎn)(一條sql語句是肯定搞不定的)
通過存儲(chǔ)過程來寫
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)建如上存儲(chǔ)過程
select * from document_file_name where find_in_set(id, getChildLst(1));
總結(jié)
到此這篇關(guān)于mysql 使用存儲(chǔ)過程實(shí)現(xiàn)樹節(jié)點(diǎn)的獲取的文章就介紹到這了,更多相關(guān)mysql 存儲(chǔ)過程樹節(jié)點(diǎn)獲取內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ORACLE中的物化視圖2. 淺談SELECT?*會(huì)導(dǎo)致查詢效率低的原因3. ACCESS轉(zhuǎn)SQL數(shù)據(jù)庫相關(guān)的幾個(gè)技能4. Mybatis自關(guān)聯(lián)查詢一對(duì)多查詢的實(shí)現(xiàn)示例5. Microsoft Office Access設(shè)置字體顏色的方法6. MySQL中InnoDB和MyISAM類型的差別7. DB2的高可用性和災(zāi)難恢復(fù)概述8. sql server 災(zāi)難恢復(fù)9. Microsoft Office Access修改代碼字體大小的方法10. mysql8.0.20數(shù)據(jù)目錄遷移的方法
