zoukankan      html  css  js  c++  java
  • mysql获取子父级节点

    获取所有子节点

      DROP FUNCTION IF EXISTS `F_Co29_GetAllChildrenIdsOfTaskevent`;
    DELIMITER //
    CREATE FUNCTION `F_Co29_GetAllChildrenIdsOfTaskevent`(
        vId BIGINT
    )
    RETURNS VARCHAR(5000)
    BEGIN    
        DECLARE sTemp VARCHAR(1000);
        DECLARE sTempChd VARCHAR(5000);
        DECLARE vCount INT;
        SET sTemp = '';
        SET sTempChd = CAST(vId AS CHAR);
        SET vCount = 1000;
        
        WHILE sTempChd IS NOT NULL AND vCount > 0 DO
            SET vCount = vCount - 1;
            IF LENGTH(sTemp) > 0 THEN        
                SET sTemp = CONCAT(sTemp,',',sTempChd);
            ELSE
                SET sTemp = sTempChd;
            END IF;
            SELECT GROUP_CONCAT(`Id`) INTO sTempChd FROM `taskevent` WHERE FIND_IN_SET(`PID`,sTempChd)>0;
        END WHILE;
        RETURN sTemp;

    END//
    DELIMITER ;

    获取所有父级节点

      DROP FUNCTION IF EXISTS `F_Co30_GetAllParentIdsOfTaskevent`;
    DELIMITER //
    CREATE FUNCTION `F_Co30_GetAllParentIdsOfTaskevent`(
        vId BIGINT
    )
    RETURNS VARCHAR(5000)
    BEGIN    
        DECLARE vPId BIGINT;   
        DECLARE sTemp VARCHAR(1000) DEFAULT '';
        
        WHILE vId IS NOT NULL DO
            SELECT `PID` into PId FROM `taskevent` WHERE `Id` = vId;
            IF vPId IS NOT NULL THEN
                SET sTemp = CONCAT(sTemp, ',', vPId);   
                SET vId = vPId;   
            ELSE
                SET vId = vPId;   
            END IF;   
        END WHILE;
        SET sTemp = SUBSTRING(sTemp,2);
        
        RETURN sTemp;

    END//
    DELIMITER ;

  • 相关阅读:
    2012.05.17
    一些记录
    2012.09.09 js
    2012.05.24 jq Tab
    2012.10.08 关于 开发计划制定、项目管理、功能设计 的想法记录
    2012.05.21 jq Tab
    关于工作状态
    ImageWaterMark参数说明
    关于拼接邮件在存储过程中
    关于使用HtmlAgilityPack
  • 原文地址:https://www.cnblogs.com/vofill/p/10208514.html
Copyright © 2011-2022 走看看