DANCE WITH JAVA

          開(kāi)發(fā)出高質(zhì)量的系統(tǒng)

          常用鏈接

          統(tǒng)計(jì)

          積分與排名

          好友之家

          最新評(píng)論

          Oracle中的遞歸查詢(xún)

          轉(zhuǎn)載自:http://community.csdn.net/Expert/topic/4998/4998917.xml?temp=.2047846
          表結(jié)構(gòu)如下:

          該表只有兩個(gè)字段,PNODE,NODE,PNODE為NODE父結(jié)點(diǎn),當(dāng)該節(jié)點(diǎn)無(wú)子節(jié)點(diǎn)時(shí),PNODE=NODE

          要求給定父結(jié)點(diǎn),查出所有子節(jié)點(diǎn),子孫節(jié)點(diǎn)......

          如:
          PNODE NODE
          ??? 1??? 2
          ??? 2??? 3
          ??? 2??? 4
          ??? 3??? 3
          ??? 4??? 4

          要求給定PNODE=1,給出結(jié)果為:
          2
          3
          4


          如果是10G以上的可以用NOCYCLE 去掉循環(huán)的影響
          ....
          start with PNODE = 1
          connect by NOCYCLE prior NODE = PNODE
          ....
          10G以下的可以試試:
          start with PNODE = 1
          connect by prior NODE = PNODE
          where NODE <> PNODE

          --------------------------------------------------------------------------------------------------------------------------------------------------------------------
          SQL> create table tab_a (pnode number(2),node number(2));

          Table created

          SQL> insert into tab_a values (1,2);

          1 row inserted

          SQL> insert into tab_a values (2,3);

          1 row inserted

          SQL> insert into tab_a values (2,4);

          1 row inserted

          SQL> insert into tab_a values (3,3);

          1 row inserted

          SQL> insert into tab_a values (4,4);

          1 row inserted

          SQL> commit;

          Commit complete
          ----- oracle9i的: 構(gòu)造tab 以避免循環(huán)
          SQL> with
          ? 2? tab as (
          ? 3??? select pnode,decode(node-pnode,0,null,node) node
          ? 4??? from tab_a
          ? 5? )
          ? 6? select distinct pnode
          ? 7? from tab
          ? 8? where pnode >1
          ? 9? start with pnode=1
          ?10? connect by prior node=pnode;

          PNODE
          -----
          ??? 2
          ??? 3
          ??? 4

          posted on 2006-12-06 19:40 dreamstone 閱讀(570) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 片段

          主站蜘蛛池模板: 盱眙县| 吴江市| 天水市| 防城港市| 湘潭县| 漳浦县| 大石桥市| 肃南| 宜兴市| 澄江县| 鹤壁市| 民勤县| 囊谦县| 商都县| 临海市| 高清| 朝阳市| 墨玉县| 斗六市| 五峰| 那曲县| 永州市| 嫩江县| 肥乡县| 闸北区| 运城市| 普洱| 南平市| 渭源县| 临西县| 宜都市| 囊谦县| 抚松县| 乌恰县| 突泉县| 常州市| 沂源县| 封丘县| 广丰县| 安陆市| 武胜县|