我是靠谱客的博主 积极小馒头,最近开发中收集的这篇文章主要介绍记录一次整理菜单路径(展示所有父级菜单)查询,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

需求:

将菜单的路径,由本级目录到最大父级目录展示出来。

eg:平台运维

        --------运行情况

        ----------------运行日志

展示:运行日志-运行情况-平台维护

 

思路:

根据本级菜单ID递归查询父级菜单

 

实现:

SQL:

select substr(t.memuname,2) as menupath from(

select rownum as id,sys_connect_by_path(memuname,'-') as name from menu_info

start with id = 本级目录ID connect by prior parent_id = id order by id desc) t

where rownum = 1)

SQL解析:

1.内层查询,根据本级ID递归查询父级的名称,并转换为行拼接展示 (sys_connect_by_path(memuname,'-') as name)

2.外层查询,根据rownum特性只拿第一条,因为内层查询做了排序,最全路径在第一条。

3.外层查询,通过substr截取函数,把路径前面多余的-去掉

 

 

 

最后

以上就是积极小馒头为你收集整理的记录一次整理菜单路径(展示所有父级菜单)查询的全部内容,希望文章能够帮你解决记录一次整理菜单路径(展示所有父级菜单)查询所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部