-- 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
专注写好每一篇精品博文的热情离不开您的肯定与支持
您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】按钮。
如果你想及时关注到工作流引擎相关博文,请继续关注我的后续博客,不妨点击正下面【关注我】
您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】按钮。
如果你想及时关注到工作流引擎相关博文,请继续关注我的后续博客,不妨点击正下面【关注我】
版权声明:本文原创发表于 博客园,作者为 F2BPM工作流引擎 转载时未经作者同意必须保留此段声明,
且在文章页面明显位置给出原文连接,否则视为侵权。