Oracle递归查询

Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。
  1. --插入测试数据:   
  2. INSERT INTO provider(ID,NAME,PID) VALUES('1','10','');   
  3. INSERT INTO provider(ID,NAME,PID) VALUES('2','11','1');   
  4. INSERT INTO provider(ID,NAME,PID) VALUES('3','20','');   
  5. INSERT INTO provider(ID,NAME,PID) VALUES('4','12','1');   
  6. INSERT INTO provider(ID,NAME,PID) VALUES('5','121','2');   
  7.   
  8.   
  9. 从Root往树末梢递归   
  10. select * from provider   
  11.  start with pid is null  
  12.  connect by prior id = pid   
  13.   
  14. 从末梢往树ROOT递归   
  15. select * from TBL_TEST   
  16.  start with id=5   
  17.  connect by prior pid = id  

[ 尊重原创,未经允许请勿转载本站日志 ]

  共 0 条评论 »

  我来说几句: