歡迎您光臨本站 註冊首頁

mysql 使用存儲過程實現樹節點的獲取方法

←手機掃碼閱讀     kyec555 @ 2020-06-08 , reply:0

如圖:

表數據

這樣的一棵樹,如何獲取“高寅瑞”下的所有節點(一條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 //

 

創建如上存儲過程

  select * from document_file_name where find_in_set(id, getChildLst(1));

 

   

   


[kyec555 ] mysql 使用存儲過程實現樹節點的獲取方法已經有249次圍觀

http://coctec.com/docs/mysql/show-post-237486.html