日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > 數據庫應用 > 利用oracle存儲過程生成樹編碼

利用oracle存儲過程生成樹編碼

來源:程序員人生   發布時間:2014-12-09 08:38:39 閱讀次數:3892次

利用oracle存儲進程生成樹編碼

需求

字段

描寫

備注

ID

主鍵,32位UUID

 

TYPE_CODE

編碼

如:1-01-003

PARENT_ID

父節點ID,32位UUID

 

SORT_NUM

排序編號

正整數

假定頂級節點的TYPE_CODE為字符1,寫存儲進程把表中所有的節點TYPE_CODE生成好;

2級節點前面補1個齡,3級補兩個零,順次類推;

實現關鍵點

n  不知道系統有多少層級,需要遞歸調用

通過遞歸調用本身;

n  如何動態在TYPE_CODE前面填充‘0’;通過計算‘-’的個數來肯定層級,從而肯定前綴的個數

tree_level:= (length(p_code)-length(replace(p_code,'-',''))) + 1;

 

n  前面填充前綴‘0’字符

lpad(to_char(cnt),tree_level,'0')

 

存儲進程代碼

CREATEOR REPLACE PROCEDURE INI_TREE_CODE ( V_PARENT_ID IN VARCHAR2 )AS p_id varchar2(32); p_code varchar2(256); sub_num number(4,0); tree_level number(4,0); cnt number(4,0) default 0; cursor treeCur(oid varchar2) is select id,TYPE_CODE from eval_index_type where parent_id = oid order by sort_num; BEGIN sub_num := 0; select id,type_code into p_id,p_code from eval_index_type where id = V_PARENT_ID order by sort_num; for curRow in treeCur(p_id) loop cnt := cnt +1; tree_level :=(length(p_code)-length(replace(p_code,'-',''))) + 1; update eval_index_type set type_code =p_code || '-' || lpad(to_char(cnt) ,tree_level,'0') where id = curRow.id; select COUNT(*) into sub_num fromeval_index_type where parent_id = p_id; if sub_num > 0 then INI_TREE_CODE (curRow.id); end if; end loop; ENDINI_TREE_CODE;


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 成人免费小视频 | 夜夜爽爽爽久久久久久魔女 | 精品一区二区三区免费观看 | 亚洲精品成人久久 | 国产精品一区二区av日韩在线 | 欧美精品在线观看 | 神马久久精品 | 婷婷五月在线视频 | 成视频年人免费看黄网站 | 久久精品夜夜夜夜夜久久 | 久久精选视频 | 久久久精品一区 | 亚洲乱码一区二区 | 久久综合久久久 | 免费毛片a线观看 | 超碰成人网 | 最近中文幕mv免费高清 | 欧洲视频一区 | 久久免费精品 | 欧州一区二区 | 一级性 | 九九热精品在线观看 | 精品久久免费 | 美女视频一区二区三区 | 日韩精品影院 | 欧美福利一区二区 | 99久久综合| 高清二区 | 亚洲一区二区精品在线 | 欧美电影一区二区三区 | 国产一区二区av | 91精品国产综合久久福利 | 国产精品一区二区三区四区五区 | 三级视频在线播放 | 日韩 国产 欧美 | 国产一级黄色片子 | 久久精品av | 欧美在线一级 | 日本a√在线 | 成人午夜av | 成人免费福利 |