设计了一个表,表<t_main_menu>结构如下:
ID MTEXT MPID MFLAG
主键 菜单名称 父类菜单ID(00表示顶级菜单) 是功能还是模块(Y/N)加入记录>:
====================
1 菜单1 00 Y
2 菜单2 1 Y
3 菜单3 2 Y
4 菜单4 3 N
===================我现在所要的功能是用一个SQL语句实现,只用传入“菜单4”的ID
,就可以显示如下所示的结果,请问该如何去实现在树形菜单中显示如下:
-------------------------------------------
菜单1
- 菜单2
------菜单3
----------菜单4
ID MTEXT MPID MFLAG
主键 菜单名称 父类菜单ID(00表示顶级菜单) 是功能还是模块(Y/N)加入记录>:
====================
1 菜单1 00 Y
2 菜单2 1 Y
3 菜单3 2 Y
4 菜单4 3 N
===================我现在所要的功能是用一个SQL语句实现,只用传入“菜单4”的ID
,就可以显示如下所示的结果,请问该如何去实现在树形菜单中显示如下:
-------------------------------------------
菜单1
- 菜单2
------菜单3
----------菜单4
2 (
3 ID Integer,
4 MTEXT varchar2(20),
5 MPID int,
6 MFLAG varchar2(1)
7 )
8 ;Table createdSQL> insert into t_main_menu values (1,'菜单1',0,'Y');1 row insertedSQL> insert into t_main_menu values (2,'菜单2',1,'Y');1 row insertedSQL> insert into t_main_menu values (3,'菜单3',2,'Y');1 row insertedSQL> insert into t_main_menu values (4,'菜单4',3,'N');1 row insertedSQL> commit;Commit completeSQL>
SQL> Select LPAD(MTEXT, 13-2*level,'-') MTEXT From t_main_menu
2 Start with ID = 4
3 Connect by prior MPID = ID
4 Order by ID;MTEXT
--------------------------------------------------------------------------------
菜单1
--菜单2
----菜单3
------菜单4