zoukankan      html  css  js  c++  java
  • 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


     

  • 相关阅读:
    019_linuxC++之_函数模板引入
    018_linuxC++之_抽象类的引入
    017_linuxC++之_多态的引入
    《将博客搬至CSDN》
    016_linuxC++之_多重继承
    013_linuxC++之_派生类中权限的调整
    015_linuxC++之_覆写
    014_linuxC++之_不同类型的继承
    012_linuxC++之_类的继承定义
    011_linuxC++之_继承的引入
  • 原文地址:https://www.cnblogs.com/super-chao/p/10416793.html
Copyright © 2011-2022 走看看