PLSQL的注释技巧

概述


这里提供一些注释的技巧,用来模仿Java中的文档注释的功能。
在Eclipse中,鼠标悬浮在类或其成员上,会显示相关的文档注释;在PL/SQL中也有相似的功能,咱们须要掌握一些注释技巧,让其可读性更高。

正文


1. 不要在最上面写注释

第一个有效指令前的内容,都是被直接无视的;不会格式化,也不会存储。假如你像下面这样写注释:
/*
  名字解析:案事件-文书相关-为换押证生成文书字号。
  这个过程是对ASJ_GENHYZWORD的一次重构。
*/
create or replace procedure asj_ws_generateWordMarkForHYZ(in_writid      in varchar2, -- 文书实例编号
                                                          in_increment   in integer, -- 增量,在一书多人时须要同时为多个文书生成序列号
                                                          out_wordofwrit out varchar2, -- 文书字
                                                          out_markofwrit out integer -- 文书号
                                                          ) is

编译,关掉当前窗口,从新打开这个过程,你会发现是这样子的:spa

 

2. 如何强制格式化在某处换行

也许你想这样写头部:
create or replace procedure asj_ws_generateWordMarkForHYZ
(in_writid      in varchar2, -- 文书实例编号
 in_increment   in integer, -- 增量,在一书多人时须要同时为多个文书生成序列号
 out_wordofwrit out varchar2, -- 文书字
 out_markofwrit out integer -- 文书号
 ) is

可是PL/SQL格式化以后,又会变成这样子:code

create or replace procedure asj_ws_generateWordMarkForHYZ(in_writid      in varchar2, -- 文书实例编号
                                                          in_increment   in integer, -- 增量,在一书多人时须要同时为多个文书生成序列号
                                                          out_wordofwrit out varchar2, -- 文书字
                                                          out_markofwrit out integer -- 文书号
                                                          ) is

此时,咱们能够使用注释来强制换行:blog

create or replace procedure asj_ws_generateWordMarkForHYZ --
(in_writid      in varchar2, -- 文书实例编号
 in_increment   in integer, -- 增量,在一书多人时须要同时为多个文书生成序列号
 out_wordofwrit out varchar2, -- 文书字
 out_markofwrit out integer -- 文书号
 ) is

这样,即便格式化,也不会违背咱们的换行意愿了。另外,多行注释也能够实现。事件

 
再好比,你想实现这样的格式:
select ajbh, ajmc
  into ajbh, ajmc
  from b_asj_aj
 where rownum = 1;

可是PL/SQL的格式化会认为没有必要,而将其缩减到一行:ip

select ajbh, ajmc into ajbh, ajmc from b_asj_aj where rownum = 1;

你能够这样写:rem

select ajbh, ajmc --
  into ajbh, ajmc --
  from b_asj_aj --
 where rownum = 1;

3. 概要内容在is关键词以前

这里咱们把鼠标悬浮在某个过程名而出现的浮动框中的内容称为概要,好比:



这里能够看到,概要只包含is以前的内容;另外,这个框太长了,浪费了空间,这时候上面讲的强制换行就能够起做用了。咱们能够这样写:

create or replace procedure asj_ws_generateWordMarkForHYZ
/*
   名字解析:案事件-文书相关-为换押证生成文书字号。
   这个过程是对ASJ_GENHYZWORD的一次重构。
  */
(in_writid      in varchar2, -- 文书实例编号
 in_increment   in integer, -- 增量,在一书多人时须要同时为多个文书生成序列号
 out_wordofwrit out varchar2, -- 文书字
 out_markofwrit out integer -- 文书号
 ) is

这样写的好处有几点:1. 咱们在合适的位置加入了对于这个过程的说明,并且在概要中将显示这些内容;2. 咱们对于换行的控制,会控制概要悬浮框的长度。文档

再看如今的概要框:
注意:在这里,as并不能取代is,你们能够本身试一下,看看概要内容是什么状况。
相关文章
相关标签/搜索