根據父類id查詢子類id的迭代函數

在數據庫創建迭代函數

DROP FUNCTION IF EXISTS `getChildrenList`;
CREATE FUNCTION `getChildrenList`(rootId VARCHAR(1000))  
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('子類id') INTO sTempChd FROM 表名 where FIND_IN_SET(父類id,sTempChd)>0;  
END WHILE;  
RETURN sTemp;  
END  

在mapper.xml中調用

<!-- 通過父類id獲取所有子類id -->
    <select id="findChildrenList" parameterType="pd" resultType="String">
        select 
            USER_ID
        from 
            SYS_USER_CMS
        where 
            FIND_IN_SET(SUPER,getChildrenList(#{USER_ID}))
    </select>

 

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