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

父子关系表结构:

`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;

//

分享到:

2011-10-12 16:00

浏览 2935

分类:数据库

评论

mysql 存储过程排序_MYSQL查询节点的所有父节点,按层级排序的存储过程相关推荐

  1. Element ui tree树形控件获取当前节点id和父节点id

    低版本Element ui tree树形控件获取当前节点id和父节点id的方法:点击查看 最新版本Element ui tree树形控件获取当前节点id和父节点id教程: 1.找到node_modul ...

  2. js获取某节点的特定父节点

    废话不说了,功能函数如下 /** @Author : Jeen @ vsfor.com* @Describe : 根据节点名称,查找某节点的特定父节点* @params :* node dom节点* ...

  3. js获取树结构数据中默认节点的所有父节点

    需求描述: 一个树形下拉框,通过默认数据获取任意子节点的所有父节点id 思路: 1循环节点,判断是否是默认节点,是则保存到数组,否则判断是否有子节点,有则调用本身循环,并进行数组合并,没有子节点就重置 ...

  4. mysql 汇总行_MySQL查询汇总行的值并对结果进行排序?

    为此,您可以将GROUP BY与ORDER BY子句一起使用.让我们首先创建一个表-create table DemoTable1499 -> ( -> StudentName varch ...

  5. mysql 前索引_MySQL查询性能优化前,必须先掌握MySQL索引理论

    数据库索引在平时的工作是必备的,怎么建好索引,怎么使用索引,可以提高数据的查询效率.而且在面试过程,数据库的索引也是必问的知识点,比如: 索引底层结构选型,那为什么选择B+树? 不同存储引擎的索引的体 ...

  6. 查询排序_MySQL查询性能优化

    MySQL查询性能的优化涉及多个方面,其中包括库表结构.建立合理的索引.设计合理的查询.库表结构包括如何设计表之间的关联.表字段的数据类型等.这需要依据具体的场景进行设计.如下我们从数据库的索引和查询 ...

  7. mysql 严格区分大小写_Mysql查询英文如何严格区分大小写?

    1. 前提: 在Mysql数据库中进行查询时,希望英文严格区分大小写.默认情况下是不区分大小写的. 2. 演示如下: 在数据库表emp中,job字段中存储的值有'Engineer',现在的情况是,下面 ...

  8. 怎么查询mysql的语法_mysql查询语法

    -- 基本查询 -- 查询所有字段 -- select * from 表名; select * from students; select * from classes; -- 查询指定字段 -- s ...

  9. 在mysql中通配符_mysql查询中通配符的使用

    mysql查询中通配符的使用 在mysql查询中经常会使用通配符,并且mysql的通配符和pgsql的存在区别(稍候再讨论),而且mysql中还可以使用正则表达式. SQL模式匹配: "_& ...

最新文章

  1. svn导出文件进行比较
  2. sqlserver 分页_四类数据库分页实现方案总结之PG分页实现
  3. 安装确认书模板_Aion S车讲堂 | 关于充电桩安装的N个问题
  4. toastutils报错_史上最好用的Android全量版本更新库XUpdate使用指南
  5. ASP.NET MVC3数据绑定到VIEW的方式
  6. 验证软件需求正确性的四个角度
  7. 微软披露25个漏洞 BadAlloc,至少影响数十亿智能设备
  8. vb导入数据到mysql_用VB程序导入与导出MySQL数据的有关问题(急)
  9. Linux(Ubuntu)上的VULKAN环境配置步骤记录
  10. 使用bat注册ocx
  11. [BZOJ5064]B-number
  12. 电感的能量储存在哪里-深度解析(4)
  13. 表贴电阻尺寸与什么有关_贴片电阻功率与尺寸对应表
  14. KT148A语音芯片ic的硬件设计注意事项
  15. node js+sql 后端分页查询效率越来越低解决方案
  16. SpringWebMVC到底是如何工作的?
  17. python-电脑调用手机摄像头
  18. 中国影视IP制作行业投资规划动态及发展趋向分析报告2022-2028年版
  19. conda 深度学习 环境卸载 相关命令
  20. SPL 工业智能:识别指定工况

热门文章

  1. 解决mysql中表字符集gbk,列字符集Latin1,python查询乱码问题
  2. RT-Thread移植
  3. Java-static-静态方法/全局方法
  4. 6日下午3h直播预告丨我们聊聊“数据库安全与智能运维”
  5. 实战演练:如何用BBED恢复删除的数据
  6. MySQL主从延时这么长,怎么优化?
  7. 局部变量是线程安全的,原因是什么
  8. 天呐,这群“员工”的业务能力太强了
  9. ECS实践案例丨逻辑卷的创建和扩容操作指导
  10. 看DLI服务4核心如何提升云服务自动化运维