百科知识

怎样用connectbyprior实现递归查询?

2017-07-27 17:30:58爱***
怎样用connectbyprior实现递归查询?怎样用connectbyprior实现递归查询?:收集的几条在oracle中通过connect by prior来实现递归查询  Start with...Co?

最佳回答

  •   收集的几条在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往树末梢递归  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  ==============================================  有一张表 t  字段:  parent  child  两个字段的关系是父子关系  写一个sql语句,查询出指定父下面的所有的子  比如  a b  a c  a e  b b1  b b2  c c1  e e1  e e3  d d1  指定parent=a,选出  a b  a c  a e  b b1  b b2  c c1  e e1  e e3  SQL语句:  select parent,child from test start with parent='a'  connect by prior child=parent 以上是我对于这个问题的解答,希望能够帮到大家。
    2017-07-27 17:30:58
  • 很赞哦! (111)