本站不再更新,歡迎光臨 java開發技術網
          隨筆-230  評論-230  文章-8  trackbacks-0

          表格構:

          ? id???????? name? ? level ? parent_id??? note
          ?1??????? 廣州????? 1?????????? 0??????????????
          ?2??????? 天河區? 2???????? 1??
          ?3??????? 黃埔區 2???????? 1
          ?4??????? 東埔鎮? 3????????? 2

          所用的存儲過程
          ? CREATE OR REPLACE PACKAGE BODY TOOLS? as
          ?
          /*Inc:字符串自遞增長度*/
          Function IncString(in_String in varchar2,Inc_Count number default 1) return varchar2
          as
          ? result varchar2(4000);
          ? v_count Integer;
          begin
          ?v_count := 1;
          ?result := null;
          ?loop
          ??exit when v_count>=Inc_Count;
          ?? result := result||in_String;?
          ?? v_count :=v_count+1;
          ? end loop;
          ?
          ?return result;
          end;


          /*構建一棵樹*/
          Function BuildTree(in_Level in Number) return varchar2
          as
          ? result varchar2(4000);
          begin
          ?if in_Level=1 then
          ?? return null;
          ? end if;
          ?return '|'||incString('-',(in_Level-1)*4); ?
          end;


          查詢的構語句:

          ?? select a.addr_id ,tools.BuildTree(2)||a.addr_name from addr_info a
          ?? connect by a.addr_id =?? prior a.parent_id
          ??? start with a.addr_id='葉子結點id'
          ??? order by level desc

          posted on 2006-04-03 15:32 有貓相伴的日子 閱讀(418) 評論(1)  編輯  收藏 所屬分類: pl/sql

          評論:
          # re: 根據表記錄構造目錄樹 2006-11-22 15:24 | pdw2009
          SELECT BCT_ID
          FROM BC_TEAM
          WHERE BCT_ID = BCT_ID
          START WITH BCT_ID = '510'
          CONNECT BY PRIOR BCT_ID = BCT_PARENTID
          查詢某個節點下包有它及所有的子節點  回復  更多評論
            
          本站不再更新,歡迎光臨 java開發技術網
          主站蜘蛛池模板: 安吉县| 安平县| 托里县| 宜城市| 汝州市| 龙江县| 隆子县| 嘉禾县| 崇文区| 双辽市| 广德县| 射洪县| 英吉沙县| 泗水县| 肇庆市| 天祝| 衡水市| 丹东市| 永清县| 清原| 麻栗坡县| 万源市| 辉县市| 辉南县| 富平县| 正阳县| 饶河县| 黑水县| 沾化县| 勐海县| 开封市| 定边县| 铜山县| 和平县| 新和县| 东港市| 启东市| 普兰店市| 仁寿县| 永宁县| 裕民县|