mysql查询节点的所有父节点,按层级排序的存储过程
查询节点的所有父节点,按层级排序的存储过程
父子关系表结构:
`parentnode` int(11) ,-- 父节点
`node` int(11) , -- 节点
`isparent` int(11) -- 是否为父节点
drop PROCEDURE if EXISTS &#96;getparentlst&#96;; DELIMITER // CREATE PROCEDURE &#96;getparentlst&#96;(myid INTEGER) begin DECLARE sTemp INTEGER; DECLARE sLevel INTEGER; set sTemp&#61;myid; set sLevel&#61;1; CREATE TEMPORARY TABLE IF not EXISTS TEMP_父子关系表 ( &#96;parentnode&#96; int(11) ,-- 父节点 &#96;node&#96; int(11) , -- 节点 &#96;isparent&#96; int(11) , -- 是否为父节点 &#96;level&#96; int(11) -- 层级 ) ENGINE&#61;MEMORY DEFAULT CHARSET&#61;latin1 MAX_ROWS&#61;10000; WHILE sTemp<>0 do insert into TEMP_父子关系表 SELECT t.parentnode,t.node,t.isparent,sLevel as &#96;level&#96; from viewparentchild t where node &#61;sTemp and isparent&#61;1; select parentnode into sTemp from 父子关系表 where node &#61;sTemp and isparent&#61;1; if(sTemp<>0) then set sLevel &#61; sLevel &#43;1; end if; end WHILE; select * from TEMP_父子关系表 view order by view.level desc; truncate table TEMP_父子关系表; end; //
欢迎大家阅读《MYSQL查询节点的全部父节点&#xff0c;按层级排序的存储过程》,跪求各位点评&#xff0c;by 搞代码
微信 赏一包辣条吧~
支付宝 赏一听可乐吧~