Oracle用Start with...Connect By子句递归查询(转自其它blog)
2009-01-20 09:13
|
Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。
创建示例表: CREATE TABLE TBL_TEST ( ID NUMBER, NAME VARCHAR2(100 BYTE), PID NUMBER DEFAULT 0 ); 插入测试数据: INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0'); INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1'); INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0'); INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1'); INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2'); 从Root往树末梢递归 select * from TBL_TEST start with id=1 connect by prior id = pid 从末梢往树ROOT递归 select * from TBL_TEST start with id=5 connect by prior pid = id |
本文介绍如何使用Oracle数据库中的Startwith...ConnectBy子句实现树形结构的递归查询,并通过具体示例展示从根节点到末梢及从末梢到根节点的查询方法。
153

被折叠的 条评论
为什么被折叠?



