更新時(shí)間:2022-01-20 11:00:20 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1499次
這里提供一些注釋的技巧,用來模仿Java中的文檔注釋的功能。
在Eclipse中,鼠標(biāo)懸浮在類或其成員上,會(huì)顯示相關(guān)的文檔注釋;在PL/SQL中也有類似的功能,我們需要掌握一些注釋技巧,讓其可讀性更高。
1. 不要在最上面寫注釋
第一個(gè)有效指令前的內(nèi)容,都是被直接無視的;不會(huì)格式化,也不會(huì)存儲(chǔ)。假如你像下面這樣寫注釋:
/*
名字解析:案事件-文書相關(guān)-為換押證生成文書字號。
這個(gè)過程是對ASJ_GENHYZWORD的一次重構(gòu)。
*/
create or replace procedure asj_ws_generateWordMarkForHYZ(in_writid in varchar2, -- 文書實(shí)例編號
in_increment in integer, -- 增量,在一書多人時(shí)需要同時(shí)為多個(gè)文書生成序列號
out_wordofwrit out varchar2, -- 文書字
out_markofwrit out integer -- 文書號
) is
編譯,關(guān)掉當(dāng)前窗口,重新打開這個(gè)過程,你會(huì)發(fā)現(xiàn)是這樣子的:

2. 如何強(qiáng)制格式化在某處換行
也許你想這樣寫頭部:
create or replace procedure asj_ws_generateWordMarkForHYZ
(in_writid in varchar2, -- 文書實(shí)例編號
in_increment in integer, -- 增量,在一書多人時(shí)需要同時(shí)為多個(gè)文書生成序列號
out_wordofwrit out varchar2, -- 文書字
out_markofwrit out integer -- 文書號
) is
但是PL/SQL格式化之后,又會(huì)變成這樣子:
create or replace procedure asj_ws_generateWordMarkForHYZ(in_writid in varchar2, -- 文書實(shí)例編號
in_increment in integer, -- 增量,在一書多人時(shí)需要同時(shí)為多個(gè)文書生成序列號
out_wordofwrit out varchar2, -- 文書字
out_markofwrit out integer -- 文書號
) is
此時(shí),我們可以使用注釋來強(qiáng)制換行:
create or replace procedure asj_ws_generateWordMarkForHYZ --
(in_writid in varchar2, -- 文書實(shí)例編號
in_increment in integer, -- 增量,在一書多人時(shí)需要同時(shí)為多個(gè)文書生成序列號
out_wordofwrit out varchar2, -- 文書字
out_markofwrit out integer -- 文書號
) is
這樣,即使格式化,也不會(huì)違背我們的換行意愿了。另外,多行注釋也可以實(shí)現(xiàn)。
再比如,你想實(shí)現(xiàn)這樣的格式:
select ajbh, ajmc
into ajbh, ajmc
from b_asj_aj
where rownum = 1;
但是PL/SQL的格式化會(huì)認(rèn)為沒有必要,而將其縮減到一行:
select ajbh, ajmc into ajbh, ajmc from b_asj_aj where rownum = 1;
你可以這樣寫:
select ajbh, ajmc --
into ajbh, ajmc --
from b_asj_aj --
where rownum = 1;
3. 概要內(nèi)容在is關(guān)鍵詞之前
這里我們把鼠標(biāo)懸浮在某個(gè)過程名而出現(xiàn)的浮動(dòng)框中的內(nèi)容稱為概要,比如:

這里可以看到,概要只包含is之前的內(nèi)容;另外,這個(gè)框太長了,浪費(fèi)了空間,這時(shí)候上面講的強(qiáng)制換行就可以起作用了。我們可以這樣寫:
create or replace procedure asj_ws_generateWordMarkForHYZ
/*
名字解析:案事件-文書相關(guān)-為換押證生成文書字號。
這個(gè)過程是對ASJ_GENHYZWORD的一次重構(gòu)。
*/
(in_writid in varchar2, -- 文書實(shí)例編號
in_increment in integer, -- 增量,在一書多人時(shí)需要同時(shí)為多個(gè)文書生成序列號
out_wordofwrit out varchar2, -- 文書字
out_markofwrit out integer -- 文書號
) is
這樣寫的好處有幾點(diǎn):1. 我們在合適的位置加入了對于這個(gè)過程的說明,而且在概要中將顯示這些內(nèi)容;2. 我們對于換行的控制,會(huì)控制概要懸浮框的長度。
再看現(xiàn)在的概要框:

注意:在這里,as并不能取代is,大家可以自己試一下,看看概要內(nèi)容是什么情況。如果大家想了解更多相關(guān)知識(shí),不妨來關(guān)注一下動(dòng)力節(jié)點(diǎn)的PLSQL視頻教程,里面的課程內(nèi)容詳細(xì),通俗易懂,適合沒有基礎(chǔ)的小白學(xué)習(xí),希望對大家能夠有所幫助。

初級 202925

初級 203221

初級 202629

初級 203743