遞歸查詢函數



創建遞歸查詢函數


CREATE FUNCTION `getChildLst`(rootId INT)
  RETURNS varchar(1000)
 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(MENU_ID) INTO sTempChd FROM SYS_MENU where FIND_IN_SET(PARENT_ID,sTempChd)>0;
        END WHILE;
       RETURN sTemp;
      END


獲取包含自身及孩子節點id
select getChildLst(1);

獲取多級樹節點內容
select * from SYS_MENU
      where FIND_IN_SET(MENU_ID, getChildLst(1));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章