• oracle的递归运算(树运算) 无限树形


    oracle的递归运算(树运算)start with org_id ='1'connect by prior parent_id=son_id

     
    1.前言 
      oracle的递归运算,在我们web页面的目录结构中会经常用到,据说是面试经常出的题目,而网上的一些东西说得都不是很明了,所以自己整理了一下,以下主要通过一个例子来说明,可以直接copy代码运行一下。 
      www.2cto.com  
    2.start with org_id = '条件1'  prior parent_id =  son_id; 的作用 
      这个就是为了把树形结构全部查出来,树的目录就放在同一张表中,如 
    |--2 
    |--3 
    |--4 
       |--5 
          |--6 
    |--7 
       |--8 
          |--9 
             |--10 
      www.2cto.com  
    这样的结构怎么查出来呢,这种特殊的查询,connect by perior就派上用场了 。 
    3.代码 
    Java代码  
    create table TESTTEMP  
    (  
      parent_ID    VARCHAR2(30),  
      son_ID VARCHAR2(30)  
    );  
      
    insert into TESTTEMP values('1','0');  
    insert into TESTTEMP values('1','2');  
    insert into TESTTEMP values('1','3');  
    insert into TESTTEMP values('1','4');  
    insert into TESTTEMP values('1','7');  
    insert into TESTTEMP values('4','5');  
    insert into TESTTEMP values('5','6');  
    insert into TESTTEMP values('7','8');  
    insert into TESTTEMP values('8','9');  
    insert into TESTTEMP values('9','10');  
    commit;  
    select * from TESTTEMP   
    start with parent_ID='1'  
    connect  by  parent_ID= prior son_ID   
      www.2cto.com  
    结果: 
    1
    1
    1
    1
    4
    5
    1
    7
    8
    9 10 
    4。总结 
      上面的例子,作用是实现遍历所有节点。如果prior 放在 connect  by后面的话,那就是从上查找
  • 相关阅读:
    报错18:28:21: Debugging starts QLayout: Attempting to add QLayout ““ to MainWindow “MainWindow“, which
    春 景
    sysTime(系统毫秒)
    balabala视频格式转换器
    tasklist /FI命令结论
    QFileSystemWatcher
    Qfileinfo
    Qdir
    欢迎光临我的普吉岛芭东海滩公寓
    使用ArcGIS GP服务之一框架介绍
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/7411037.html
Copyright © 2020-2023  润新知