支集的几条正在oracle中颠末过程connect
by prior来实现递回查询
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往树末梢递回(prior暗示当前止的字段)
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