mysql的遞歸(使用函數)


getChildList:

BEGIN
      #聲明兩個局部變量
    DECLARE sTemp VARCHAR(4000);
    DECLARE sTempChd VARCHAR(4000);
        #初始化局部變量
    SET sTemp = '';
        #調用cast函數將int轉換為char
    SET sTempChd = rootId;
    #遞歸拼接
    WHILE LENGTH(sTempChd) != 6 DO
                #存儲每次遞歸結果
        SET sTemp = sTempChd;
                #將參數作為pid,然后查詢其子id,然后將子id作為pid,
        #查詢以子id為pid的子id,依次循環下去,直到所有節點都為葉子節點
        SELECT father_code INTO sTempChd FROM  tmp_customer_org where code = sTempChd; -- code = sTempChd
    END WHILE;
        SET sTemp = sTempChd;
    RETURN sTemp; 
END

傳入參數遞歸查詢。

getParent:

BEGIN
      #聲明兩個局部變量
    DECLARE sTemp VARCHAR(4000);
    DECLARE sTempChd VARCHAR(4000);
        #初始化局部變量
    SET sTemp = '';
        #調用cast函數將int轉換為char
    SET sTempChd =rootId;
    #遞歸拼接
    WHILE LENGTH(sTempChd) = 6 DO
                #存儲每次遞歸結果
        SET sTemp = sTempChd;
                #將參數作為pid,然后查詢其子id,然后將子id作為pid,
        #查詢以子id為pid的子id,依次循環下去,直到所有節點都為葉子節點
        SELECT father_code INTO sTempChd FROM  tmp_customer_org where code = sTempChd;
    END WHILE;
    RETURN sTemp; 
END


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM