Oracle 。生成树形菜单的sql语句


--Oracle 生成树形菜单,sql语句
表结构

create table M_AREA
(
  FID         INTEGER not null,
  FPARENTID   INTEGER not null,
  FNAME       VARCHAR2(50) not null,
  FLAT        NUMBER(20,14),
  FLON        NUMBER(20,14),
  FMAPBAG     VARCHAR2(20),
  ISBASEBLOCK NUMBER(1),
  FLATLON     VARCHAR2(20)
)


select A.FID, lpad('     ', level * 5, '--') || A.FNAME FNAME
    from (select B.FID, B.FNAME, B.FPARENTID from M_Area B where 1 = 1) A
    connect by A.FPARENTID = prior A.FID
    start with A.FPARENTID = 0;

 

--输出结果如下:

 

1    14         深圳
2    15    -----     宝安
3    16    -----     福田
4    17    -----     盐田
5    21    -----     龙岗
6    20    -----     南山
7    22    -----     罗湖
8    1         广州
9    3    -----     越秀
10    4    -----     荔湾
11    5    -----     海珠
12    6    -----     天河
13    7    -----     黄埔
14    8    -----     萝岗
15    9    -----     番禺
16    10    -----     花都
17    11    -----     南沙
18    12    -----     从化
19    13    -----     增城
20    2    -----     白云

你可能感兴趣的:(oracle,sql)