亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

ORACLE 遞歸查詢

系統 1785 0

既然會看ORACLE遞歸查詢那么大家應該是比較清楚遞歸是什么意思了,在這里我就不多加說明了,只作簡單介紹了。

言歸正傳所謂遞歸查詢那么數據表中數據的結構應該是符合遞歸查詢的基本條件,即表中有ID,PID(節點編號、父節點編號)如果把數據以UI的方式展現出來應該是一棵或多棵樹了。

那么我們要以其中一個節點去遞歸查詢出這個節點子節點或父節點的過程就是我們所要說明的。

遞歸查詢語法:

?

select ... from tablename? where 條件4 start with 條件1? connect by 條件2?AND 條件3

?

如下面的表結構 http://www.cnblogs.com/wanghonghu/archive/2012/08/31/2665945.html

    
      CREATE
    
    
      TABLE
    
    
       SC_DISTRICT

(

  IID         
    
    
      NUMBER
    
    (
    
      10
    
    )                  
    
      NOT
    
    
      NULL
    
    
      ,

  PARENT_ID  
    
    
      NUMBER
    
    (
    
      10
    
    
      ),

  INAME       
    
    
      VARCHAR2
    
    (
    
      255
    
     BYTE)          
    
      NOT
    
    
      NULL,
    
    
      

 BZ      
      
        NUMBER
      
      (
      
        4
      
      )
      
);
ALTER TABLE SC_DISTRICT ADD ( CONSTRAINT SC_DISTRICT_PK PRIMARY KEY (IID)); ALTER TABLE SC_DISTRICT ADD ( CONSTRAINT SC_DISTRICT_R01 FOREIGN KEY (PARENT_ID) REFERENCES SC_DISTRICT (IID));
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,INAME) 
    
      VALUES
    
    (
    
      1
    
    ,
    
      '
    
    
      四川省
    
    
      '
    
    
      );




    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      2
    
    ,
    
      1
    
    ,
    
      '
    
    
      巴中市
    
    
      ',0
    
    
      );


    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      3
    
    ,
    
      1
    
    ,
    
      '
    
    
      達州市
    
    
      ',0
    
    
      ); 




    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      4
    
    ,
    
      2
    
    ,
    
      '
    
    
      巴州區
    
    
      ',0
    
    
      );


    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      5
    
    ,
    
      2
    
    ,
    
      '
    
    
      通江縣
    
    
      ',0
    
    
      );


    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      6
    
    ,
    
      2
    
    ,
    
      '
    
    
      平昌縣
    
    
      ',0
    
    
      );




    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      7
    
    ,
    
      3
    
    ,
    
      '
    
    
      通川區
    
    
      ',0
    
    
      );


    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      8
    
    ,
    
      3
    
    ,
    
      '
    
    
      宣漢縣
    
    
      ',0
    
    
      );




    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      9
    
    ,
    
      8
    
    ,
    
      '
    
    
      塔河鄉
    
    
      ',1
    
    
      );


    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      10
    
    ,
    
      8
    
    ,
    
      '
    
    
      三河鄉
    
    
      ',1
    
    
      );


    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      11
    
    ,
    
      8
    
    ,
    
      '
    
    
      胡家鎮
    
    
      ',1
    
    
      );


    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      12
    
    ,
    
      8
    
    ,
    
      '
    
    
      南壩鎮
    
    
      ',1
    
    
      );

 


    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      13
    
    ,
    
      6
    
    ,
    
      '
    
    
      大寨鄉
    
    
      ',2
    
    
      );


    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      14
    
    ,
    
      6
    
    ,
    
      '
    
    
      響灘鎮
    
    
      ',2
    
    
      );


    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      15
    
    ,
    
      6
    
    ,
    
      '
    
    
      龍崗鎮
    
    
      ',2
    
    
      );


    
    
      INSERT
    
    
      INTO
    
     SC_DISTRICT(IID,PARENT_ID,INAME,BZ) 
    
      VALUES
    
    (
    
      16
    
    ,
    
      6
    
    ,
    
      '
    
    
      白衣鎮
    
    
      ',2
    
    );
    

如果如圖

? ORACLE 遞歸查詢

--查詢平昌縣的子節點

SELECT * FROM SC_DISTRICT
START WITH INAME = '平昌縣'
CONNECT BY PRIOR IID = PARENT_ID

--查詢平昌縣的父節點

SELECT * FROM SC_DISTRICT
START WITH INAME = '平昌縣'
CONNECT BY PRIOR? PARENT_ID= IID

--只是查詢當前節點BZ為0的,但不會查詢節點BZ為0的子節點(這點大家注意了)

SELECT * FROM SC_DISTRICT
START WITH INAME = '平昌縣' AND BZ = 0
CONNECT BY PRIOR? PARENT_ID= IID ;

--查詢當前節點和子節點的BZ為0的方法

SELECT * FROM SC_DISTRICT WHERE BZ = 0
START WITH INAME = '平昌縣'
CONNECT BY PRIOR PARENT_ID= IID

--此方式不僅可以查詢BZ為0的節點而且會不再去遍歷此節點的子節點

SELECT * FROM SC_DISTRICT START WITH INAME = '平昌縣'
CONNECT BY PRIOR PARENT_ID= IID AND BZ = 0

如果大家對遞歸的方式比較了解的話上面的幾種方式就很容易理解了。

ORACLE 遞歸查詢


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲午夜一级毛片 | 一级爱| 国产在线观看91精品一区 | 99爱免费观看视频在线 | 久久综合狠狠综合久久 | 四虎影视久久久 | 久久久久久久久久久福利观看 | 久草视频精品在线 | 中文字幕在线看日本大片 | www.天天干 | 国产福利精品在线观看 | 不一样的天空在线高清观看 | a一级毛片免费播放 | 一级大黄视频 | 国产成人久久综合热 | 久久不射视频 | 欧美毛片大全 | 国产伦精品一区二区免费 | 麻豆va一区二区三区久久浪 | va亚洲va日韩不卡在线观看 | 天上人间影院久久国产 | 国产综合成色在线视频 | 九九国产精品 | 毛片免费观看日本中文 | 国产日韩欧美在线观看不卡 | 欧美精品成人一区二区视频一 | 青青操网址| 在线播放精品 | 国内久久精品视频 | 久久成人综合网 | 欧美日中文字幕 | 亚洲 欧美 国产另类首页 | 国产精品色片 | 精品毛片视频 | 成 人 黄 色 | 久久久久久99 | 国产在视频线在精品 | 最猛黑人xxxⅹ黑人猛交 | 久久69精品久久久久久hb | 成人欧美一区在线视频在线观看 | 久久桃花网 |