• MySql 获取当前节点及递归所有上级节点


    -- MySql 获取当前节点及递归所有上级节点 
    -- 参数说明:resultField:查询返回字段,idd 要查询的资源ID值,idFieldName ID字段名,parentIdFieldName 上级ID字段名,tableName 表名,isContainMySelf 是否包含自己
    DROP procedure IF EXISTS pro_getParentList;
    create procedure pro_getParentList(in resultField varchar(4000),in myid varchar(100),in idFieldName varchar(100),in parentIdFieldName varchar(100),in tableName varchar(100),isContainMySelf int)
    begin
    	drop table if exists tmpParent;
    	CREATE    TABLE tmpParent(temId varchar(100)) ;
    	set @tempParentId=myid;
      set @myDoflag=1;
    WHILE @myDoflag>0  do 
        set @ssss = CONCAT(' select ', parentIdFieldName, ', count(*) INTO  @tempParentId,@myDoflag from ',tableName ,' where ',idFieldName,'=','''',@tempParentId,'''');
    		prepare strsql from @ssss;
    		execute strsql;
        deallocate prepare strsql;     
        if(@myDoflag>0) THEN
    	  set @insertSql = CONCAT('INSERT into tmpParent(temId) values (',"'",@tempParentId,"'",')');
    	  prepare preSql1 from @insertSql;
    	  execute preSql1;
        deallocate prepare preSql1; 
        end if;
    end WHILE;
    		 
    		 IF (isContainMySelf=1) THEN
    			INSERT into tmpParent(temId) values (myid); 
    		 END IF; 
    
    			SET @fieldSql=concat(' SELECT ',resultField);
    			set @strsql = CONCAT(@fieldSql,' from ', tableName,' s ',' inner join  tmpParent t on t.temId=s.',idFieldName,'  order by s.',idFieldName,'  asc');
    			prepare preSql from @strsql;
    			execute preSql;
     
    end
    

      

  • 相关阅读:
    python flsak 框架
    postman
    压力测试和负载测试
    软件测试相关内容
    Linux常用基本命令
    leetcode刷题——反转字符串
    leetcode——搜索插入位置
    leetcode刷题——移除元素
    leetcode 刷题 ——删除排序数组中的重复项
    json.decoder.JSONDecodeError: Expecting value 错误的处理
  • 原文地址:https://www.cnblogs.com/f2flow/p/6003221.html
Copyright © 2020-2023  润新知