Oracle 递归查询树
数据库表与数据如下:
Create Table
create table T_RC_TEMPLATETREE
(
FID VARCHAR2(80),
FNAME VARCHAR2(80),
FPARENTNAME VARCHAR2(80),
FDATE DATE default sysdate
)
Insert Data
insert into T_RC_TEMPLATETREE (FID, FNAME, FPARENTNAME, FDATE)
values ('1', 'name1', null, to_date('17-02-2012 10:23:39', 'dd-mm-yyyy hh24:mi:ss'));
insert into T_RC_TEMPLATETREE (FID, FNAME, FPARENTNAME, FDATE)
values ('2', 'name2', 'name1', to_date('17-02-2012 10:23:40', 'dd-mm-yyyy hh24:mi:ss'));
insert into T_RC_TEMPLATETREE (FID, FNAME, FPARENTNAME, FDATE)
values ('3', 'name3', 'name2', to_date('17-02-2012 10:23:40', 'dd-mm-yyyy hh24:mi:ss'));
insert into T_RC_TEMPLATETREE (FID, FNAME, FPARENTNAME, FDATE)
values ('4', 'name4', 'name2', to_date('17-02-2012 10:29:32', 'dd-mm-yyyy hh24:mi:ss'));
commit;
利用Sql编写递归语句:
select FID,FNAME,FPARENTNAME,level from t_rc_templatetree
connect by prior FNAME = FPARENTNAME
start with fname = 'name1'


浙公网安备 33010602011771号