当前位置: 代码迷 >> SQL >> sql迭代查询构造树
  详细解决方案

sql迭代查询构造树

热度:58   发布时间:2016-05-05 13:15:24.0
sql迭代查询结构树

系统菜单表

create table sys_menu(menu_id number primary key,menu_name varchar2(50) not null,menu_parentId number not null, --指向本表的menu_id,用于列出上下级关系;nenu_url varchar(100),menu_level number);

在查询结果中需要以上下级关系显示菜单,这里用到的是oracle中的迭代,具体sql如下:

select menu_id,case when menu_level=1 then '----'||menu_name when menu_level=2 then '----------'||menu_name else menu_name end as menu_name,menu_parentId,nenu_url,menu_level from sys_menustart with menu_id=1CONNECT BY PRIOR menu_id = menu_parentIdORDER SIBLINGS BY menu_id

具体CONNECT BY PRIOR用法这个递归网上有很全面的解说,

至此,笔记以加深印象。

  相关解决方案