zoukankan      html  css  js  c++  java
  • mysql中有关树的函数

    用mysql客户端在库中建立函数queryOrgChildren(查找子节点)和queryOrgLevel(查看当前节点在树中的级别):
    DROP FUNCTION IF EXISTS `queryOrgChildren`;
    CREATE  FUNCTION `queryOrgChildren`(id INT)
     RETURNS varchar(2000)
    BEGIN
    DECLARE tempChd VARCHAR(2000);

    SET tempChd = cast(id as char);
    IF tempChd is not NULL THEN
        SELECT group_concat(groupId) INTO tempChd FROM t_user_group TUG where TUG.PARENTUSERGROUPID=tempChd;
     end if;
    return tempChd;
    END;



    DROP FUNCTION IF EXISTS `queryOrgLevel`;
    CREATE  FUNCTION `queryOrgLevel`(id INT)
     RETURNS int
    BEGIN

    DECLARE grouplevel int;
    DECLARE tempPar int;


    SET grouplevel=0,tempPar=0;
    SELECT PARENTUSERGroupId  INTO tempPar FROM t_user_group TUG where TUG.GROUPID=id;

    WHILE tempPar != 0 DO

    SET  grouplevel=grouplevel+1;

    SELECT PARENTUSERGroupId INTO tempPar FROM t_user_group TUG where TUG.GROUPID=tempPar;

    END WHILE;


    return grouplevel;

    END;

    当然用户可根据上边2个函数发挥,比如写获取所有子孙节点的函数和获取所有父类节点的函数,有可能还会用到FIND_IN_SET(str,strlist)函数

  • 相关阅读:
    poj1580
    poj1607
    poj1313
    poj1314
    c语言之extern和static
    C笔记(一)
    搭建Linux高可用性集群(第一天)
    利用回调函数实现泛型算法
    关于SQL server中的 identity
    SQL(一)
  • 原文地址:https://www.cnblogs.com/shz365/p/6829020.html
Copyright © 2011-2022 走看看