以下的文章主要介绍的是Oracle递归查询Start with…Connect By子句递归查询一般用于一个表维护树形结构的实际应用。本文主要是通过Sql代码的方式来引出Oracle递归查询Start with…Connect By相关的实际应用。
创建示例表:
Sql代码
CREATETABLETBL_TEST ( IDNUMBER, NAMEVARCHAR2(100BYTE), PIDNUMBERDEFAULT0 );
插入测试数据:
Sql代码
INSERTINTOTBL_TEST(ID,NAME,PID)VALUES('1','10','0'); INSERTINTOTBL_TEST(ID,NAME,PID)VALUES('2','11','1'); INSERTINTOTBL_TEST(ID,NAME,PID)VALUES('3','20','0'); INSERTINTOTBL_TEST(ID,NAME,PID)VALUES('4','12','1'); INSERTINTOTBL_TEST(ID,NAME,PID)VALUES('5','121','2');
Sql代码,从Root往树末梢递归
select*fromTBL_TEST startwithid=1 connectbypriorid=pid
Sql代码,从末梢往树ROOT递归
select*fromTBL_TEST startwithid=5 connectbypriorpid=id
相关文章
标签:Oracle