• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MYSQL查询节点的全部父节点,按层级排序的存储过程

mysql 搞代码 7年前 (2018-06-04) 367次浏览 已收录 0个评论

mysql查询节点的所有父节点,按层级排序的存储过程
查询节点的所有父节点,按层级排序的存储过程

父子关系表结构:
           `parentnode` int(11) ,– 父节点
`node` int(11)  ,  — 节点
`isparent` int(11)  — 是否为父节点
       

 drop PROCEDURE if EXISTS `getparentlst`; DELIMITER // CREATE  PROCEDURE `getparentlst`(myid INTEGER)  begin DECLARE sTemp INTEGER; DECLARE sLevel INTEGER; set sTemp=myid; set sLevel=1; CREATE TEMPORARY TABLE IF not EXISTS TEMP_父子关系表 (         `parentnode` int(11) ,-- 父节点  `node` int(11)  ,  -- 节点  `isparent` int(11) , -- 是否为父节点         `level` int(11)  -- 层级 )  ENGINE=MEMORY DEFAULT CHARSET=latin1 MAX_ROWS=10000; WHILE sTemp<>0 do  insert into TEMP_父子关系表 SELECT t.parentnode,t.node,t.isparent,sLevel as `level`  from viewparentchild t where node =sTemp and isparent=1;   select parentnode into sTemp from 父子关系表 where node =sTemp and isparent=1;  if(sTemp<>0) then   set sLevel = sLevel +1;  end if; end WHILE;   select * from TEMP_父子关系表 view  order by view.level desc;  truncate table TEMP_父子关系表; end; // 

欢迎大家阅读《MYSQL查询节点的全部父节点,按层级排序的存储过程》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MYSQL查询节点的全部父节点,按层级排序的存储过程
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址