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'



posted @ 2012-02-17 16:51  疯狂科学家  阅读(166)  评论(0)    收藏  举报