概述


这里提供一些注释的技巧,用来模仿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

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

 

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格式化之后,又会变成这样子:

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

此时,我们可以使用注释来强制换行:

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的格式化会认为没有必要,而将其缩减到一行:

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. 概要内容在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,大家可以自己试一下,看看概要内容是什么情况。

PLSQL的注释技巧的更多相关文章

  1. plsql developer 使用技巧

    plsql developer 使用技巧 Oracle数据库相信已成为很多企业构建自身关键业务的重要后台支撑,也是众多开发人员常常采用的后台.但Oracle自己提供的一套客户端工具不是很好用,极大的影 ...

  2. 应用PLSQL Developer(技巧)

    以下是一些 PLSQL Developer的使用技巧. 转自:PLSQL developer常用技巧,作者:逍遥游xj

  3. PLSQL Developer使用技巧整理(转)

    一.工具-首选项-用户界面-编辑器-其它-显示行号二.工具-首选项-窗口类型-SQL窗口-显示隔号(行号) 在使用PL/SQL Developer对Procedure进行Debug时,突然发现无法Se ...

  4. PLSQL Developer使用技巧

    本文由liuyk80贡献 ·PL/SQL Developer 使用技巧 1.PL/SQL Developer 记住登陆密码 在使用 PL/SQL Developer 时,为了工作方便希望 PL/SQL ...

  5. plsql只有注释显示问号,其余中文可以正常显示

    在plsql客户端查看表信息,注释均为乱码,使用select 查询字段中中文字符正常,以下为解决方案: 1.使用语句 select * from V$NLS_PARAMETERS 查询 nls_lan ...

  6. PLSQL Developer使用技巧整理

      Shortcut: =============================================================================== Edit/Und ...

  7. 转载:PLSQL Developer使用技巧整理

    Shortcut(快捷方式): Edit/Undo     Ctrl+Z Edit/Redo     Shift+Ctrl+Z Edit/PL/SQL Beautifier  Ctrl+W   (自定 ...

  8. PLSQL性能优化技巧

    1.理解执行计划1-1.什么是执行计划 oracle数据库在执行sql语句时,oracle的优化器会根据一定的规则确定sql语句的执行路径,以确保sql语句能以最优性能执行.在oracle数据库系统中 ...

  9. PLSQL developer常用技巧

    1.PL/SQL Developer记住登陆密码 在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码: 设置方法:tools- ...

随机推荐

  1. Java中哈希表(Hashtable)是如何实现的

    Java中哈希表(Hashtable)是如何实现的 Hashtable中有一个内部类Entry,用来保存单元数据,我们用来构建哈希表的每一个数据是Entry的一个实例.假设我们保存下面一组数据,第一列 ...

  2. Send Email in Robot Framework Python Using Gmail

    转载自:http://seleniummaster.com/sitecontent/index.php/selenium-robot-framework-menu/selenium-robot-fra ...

  3. Item 3 ------单例模式的几种实现方式,及优缺点

    单例模式,是指一个类只有一个唯一的实例,一个类只会被实例化一次.实现这种效果,最佳的方式,编写包含单个元素的枚举类型. 单例模式的最佳实现方式-----创建一个包含单个元素的枚举类 public en ...

  4. 【BZOJ】1710: [Usaco2007 Open]Cheappal 廉价回文

    [算法]区间DP [题解]回文问题的套路做法:区间DP. f[i][j]表示区间i~j回文的最小代价,则有f[i][j]=min{①②③}. ①f[i+1][j]+min(a[s[i]],b[s[i] ...

  5. 【NOIP】提高组2012 同余方程

    [算法]扩展欧几里德算法 [题解]学完扩欧就可以随便水了... 转化为不定方程ax-by=1. 因为1且题目保证有解,所以方程有唯一解. 紫书曰:同余方程的一个解其实指的是一个同余等价类. 所以满足x ...

  6. python初步学习-pycharm使用 (二)

    pycharm调试模式 假设我们的程序在运行过程中命中了一个错误,那我们如何定位错误发生的位置?这就需要进行调试. 在Pycharm中我们可以在其中直接对程序进行调试,唯一需要做的准备工作就是在程序必 ...

  7. python中的Queue模块

    queue介绍 queue是python的标准库,俗称队列.可以直接import引用,在python2.x中,模块名为Queue.python3直接queue即可 在python中,多个线程之间的数据 ...

  8. php中的parse_ini_file函数

    作用:parse_ini_file() 函数解析一个配置文件,并以数组的形式返回其中的设置 格式:parse_ini_file(file,true)// (第二个参数为可选参数.如果设置为 true, ...

  9. java===java基础学习(7)---用户自定义类

    package testbotoo; import java.util.*; public class EmployeeTest { public static void main(String[] ...

  10. 网站服务器压力Web性能测试(3):http_load:测试web服务器的吞吐量与负载

    1.http_load是国外一个博主写的一个基于Linux的性能测工具,小巧轻便,解压缩后不到100k,下载安装方法: wget https://acme.com/software/http_load ...