Oracle:菜单管理,在表中找到父节点、子节点

本文介绍了在Oracle数据库中处理菜单管理时遇到的问题,如何通过SQL查询筛选菜单的父节点和子节点。原始SQL存在过滤错误,经过优化后的SQL成功排除了非菜单项并正确处理了根节点的parentsid为空的情况。
摘要由CSDN通过智能技术生成

今天组长给了我一张菜单表app_menu,要把里面的数据内容按照菜单进行调整,并且要筛选出一些系统里已经有的父菜单,我在网上查找资料后是这么写的:

select parentsid,
       menuid,
       (case
         when menulevel = 1 then
          '*' || menuname
         when menulevel = 2 then
          '*-----' || menuname
         when menulevel = 3 then
          '*-----*-----' || menuname
         when menulevel = 4 then
          '*-----*-----*------' || menuname
         else
          menuname
       end) as menuname,
       menulevel
  from app_menu
 start with parentsid is null
connect by prior menuid = parentsid
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值