Oracle递归查询可用相关子句来运行


  本文标签:Oracle递归查询

  在Oracle递归查询中,我们经常用到的是Start with...Connect By子句来对Oracle递归查询一般的情况下,是用于相关表维护树形的结构应用  。以下就是文章的相关内容的具体介绍,望你浏览后会对你有所帮助  。

  创建示例表:

  Sql代码

  

  1. CREATE TABLE TBL_TEST  
  2. (  
  3. ID NUMBER,  
  4. NAME VARCHAR2(100 BYTE),  
  5. PID NUMBER DEFAULT 0  
  6. );  

  

  插入测试数据:

  Sql代码

  

  1. INSERT INTO TBL_TEST(ID,NAME,PID) VALUES(1,10,0);  
  2. INSERT INTO TBL_TEST(ID,NAME,PID) VALUES(2,11,1);  
  3. INSERT INTO TBL_TEST(ID,NAME,PID) VALUES(3,20,0);  
  4. INSERT INTO TBL_TEST(ID,NAME,PID) VALUES(4,12,1);  
  5. INSERT INTO TBL_TEST(ID,NAME,PID) VALUES(5,121,2);  

  

  

  在Oracle递归查询中我们要用到Sql代码

  从Root往树末梢递归

  

  1. select * from TBL_TEST  
  2. start with id=1 
  3. connect by prior id = pid 

  

  

  Sql代码

  从末梢往树ROOT递归

  

  1. select * from TBL_TEST  
  2. start with id=5 
  3. connect by prior pid = id  

  

  

  以上的相关内容就是对Oracle递归查询的介绍,望你能有所收获  。