mysql 使用存儲過程實(shí)現(xiàn)樹節(jié)點(diǎn)的獲取方法
如圖:

表數(shù)據(jù)

這樣的一棵樹,如何獲取“高寅瑞”下的所有節(jié)點(diǎn)(一條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));

總結(jié)
到此這篇關(guān)于mysql 使用存儲過程實(shí)現(xiàn)樹節(jié)點(diǎn)的獲取的文章就介紹到這了,更多相關(guān)mysql 存儲過程樹節(jié)點(diǎn)獲取內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. DB2 與 Microsoft SQL Server 2000 之間的 SQL 數(shù)據(jù)復(fù)制2. DB2 XML 全文搜索之為文本搜索做準(zhǔn)備3. 細(xì)化解析:Oracle 10g ASM 的一點(diǎn)經(jīng)驗(yàn)4. MyBatis中$和#的深入講解5. MySQL InnoDB架構(gòu)的相關(guān)總結(jié)6. mysql中使用date_add()函數(shù)講解7. 解讀Oracle中代替like進(jìn)行模糊查詢的方法instr(更高效)8. 國內(nèi)學(xué)院派專家對DB2 9新產(chǎn)品贊不絕口9. MySQL Shell的介紹以及安裝10. Mysql InnoDB和MyISAM區(qū)別原理解析

網(wǎng)公網(wǎng)安備