Oracle樹(shù)的存儲(chǔ)過(guò)程的實(shí)際操作4步驟
以下的文章主要介紹的是Oracle樹(shù)的存儲(chǔ)過(guò)程的實(shí)際操作步驟,其中包括創(chuàng)建表 IT,向數(shù)據(jù)中插入相關(guān)的數(shù)據(jù)并且提交相關(guān)的事務(wù),以及實(shí)際創(chuàng)建Oracle樹(shù)的存儲(chǔ)過(guò)程和啟動(dòng)serveroutput 利用exec命令實(shí)現(xiàn)樹(shù)形展示 在pl/sql中的。
***步:創(chuàng)建表 IT
- create table IT
- (
- id number primary key ,
- cont varchar2(255),
- pid number,
- isleaf number(1),
0代表非葉子節(jié)點(diǎn) 1代表葉子節(jié)點(diǎn)。
- grade number(2)
- );
第二步:向數(shù)據(jù)中插入數(shù)據(jù)并提交事務(wù)
- insert into IT values (1, '大家好', 0, 0, 0);
- insert into IT values (2, '你也好', 1, 0, 1);
- insert into IT values (3, '愿大家學(xué)業(yè)有成', 2, 1, 2);
- commit;
提交事務(wù)
- select * from it
第三步:創(chuàng)建Oracle樹(shù)的存儲(chǔ)過(guò)程
- create or replace procedure p (v_pid IT.pid%type, v_level binary_integer)
- is
- cursor c is select * from IT where pid = v_pid;
- v_preStr varchar2(1024) := '';
- begin
- for i in 1..v_level
- loop
- v_preStr := v_preStr || '**$';
- end loop;
- for v_IT in c
- loop
- dbms_output.put_line(v_preStr || v_IT.cont);
- if(v_IT.isleaf = 0) then
- p(v_IT.id, v_level + 1);
- end if;
- end loop;
- end;
第四步:?jiǎn)?dòng)serveroutput 利用exec命令實(shí)現(xiàn)樹(shù)形展示 在pl/sql中的
Command Window下運(yùn)行
- SQL> set serveroutput on
- SQL> exec p(0,0);
運(yùn)行結(jié)果,上述的相關(guān)內(nèi)容就是對(duì)Oracle樹(shù)的存儲(chǔ)過(guò)程的描述,希望會(huì)給你帶來(lái)一些幫助在此方面。
【編輯推薦】
- Oracle外鍵與其主鍵的實(shí)際應(yīng)用方案
- Oracle SQL執(zhí)行緩慢的原因以及解決方案
- Oracle delete執(zhí)行過(guò)程的流程介紹
- Oracle Decode函數(shù)的主要功能介紹
- Oracle優(yōu)化器三大種類(lèi)的介紹