在Oracle递归查询中,我们经常用到的是Start with...Connect By子句来对Oracle递归查询一般的情况下,是用于相关表维护树形的结构应用。以下就是文章的相关内容的具体介绍,望你浏览后会对你有所帮助。
创建示例表:
Sql代码
- CREATE TABLE TBL_TEST
- (
- ID NUMBER,
- NAME VARCHAR2(100 BYTE),
- PID NUMBER DEFAULT 0
- );
插入测试数据:
Sql代码
- 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');
在Oracle递归查询中我们要用到Sql代码
从Root往树末梢递归
- select * from TBL_TEST
- start with id=1
- connect by prior id = pid
Sql代码
从末梢往树ROOT递归
- select * from TBL_TEST
- start with id=5
- connect by prior pid = id
以上的相关内容就是对Oracle递归查询的介绍,望你能有所收获。
【编辑推荐】