MySql 获取当前节点及递归所有上级节点
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySql 获取当前节点及递归所有上级节点,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1627字,纯文字阅读大概需要3分钟。
内容图文
![MySql 获取当前节点及递归所有上级节点](/upload/InfoBanner/zyjiaocheng/473/cd968dad81ad422caa1e11c4adf59b99.jpg)
-- 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
MySql 获取当前节点及递归所有上级节点
标签:rom pre 包含 res sel dna mysq har eal
本文系统来源:http://www.cnblogs.com/f2flow/p/6003221.html
内容总结
以上是互联网集市为您收集整理的MySql 获取当前节点及递归所有上级节点全部内容,希望文章能够帮你解决MySql 获取当前节点及递归所有上级节点所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。