概述


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

正文


1. 不要在最上面写注释

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

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

 

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

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

但是PL/SQL格式化之后,又会变成这样子:

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

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

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

这样,即使格式化,也不会违背我们的换行意愿了。另外,多行注释也可以实现。

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

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

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

你可以这样写:

  1. select ajbh, ajmc --
  2. into ajbh, ajmc --
  3. from b_asj_aj --
  4. where rownum = 1;

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

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

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

  1. create or replace procedure asj_ws_generateWordMarkForHYZ
  2. /*
  3. 名字解析:案事件-文书相关-为换押证生成文书字号。
  4. 这个过程是对ASJ_GENHYZWORD的一次重构。
  5. */
  6. (in_writid in varchar2, -- 文书实例编号
  7. in_increment in integer, -- 增量,在一书多人时需要同时为多个文书生成序列号
  8. out_wordofwrit out varchar2, -- 文书字
  9. out_markofwrit out integer -- 文书号
  10. ) 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. Spring mvc 增加静态资源配置后访问不了注解配置的controller

    spring mvc 增加静态资源访问配置. 例如: <!-- 静态资源映射 --> <mvc:resources location="/static/" map ...

  2. 上下文管理器 contextlib

    from contextlib import contextmanager @contextmanager def tag(name): print "<%s>" % ...

  3. Spring Security 集成CAS实现单点登录

    参考:http://elim.iteye.com/blog/2270446 众所周知,Cas是对单点登录的一种实现.本文假设读者已经了解了Cas的原理及其使用,这些内容在本文将不会讨论.Cas有Ser ...

  4. Long Parameter List(过长参数列)---要重构的味道

      一个函数,它的参数过多是不好的,不好维护和修改,易读性也差,容易出错.       消除过长参数的方法,有如下:        1.在面向对象中,你可以传递一个对象给函数,函数通过访问对象来获得参 ...

  5. Problem E. Matrix from Arrays(杭电2018年多校第四场+思维+打表找循环节)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6336 题目: 题意:给你一个l个元素的数组a,用题目中的程序构造一个新的矩阵,询问q次,问以(x1,y ...

  6. HDU - 5327 Olympiad(一维前缀和)

    Olympiad Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem ...

  7. Python3.3.3 安装(Linux系统)

    1.wget http://www.python.org/ftp/python/3.3.3/Python-3.3.3.tgz //检查http://www.python.org/ftp/python网 ...

  8. Windows下基于python3使用word2vec训练中文维基百科语料(一)

    在进行自然语言处理之前,首先需要一个语料,这里选择维基百科中文语料,由于维基百科是 .xml.bz2文件,所以要将其转换成.txt文件,下面就是相关步骤: 步骤一:下载维基百科中文语料 https:/ ...

  9. javascript中的addEventListener与attchEvent

    1.addEventListener 该方法用于向指定元素添加事件句柄 浏览器的支持情况为chrome1.0.ie9+.fireFox1.0.opera7.0 该方法包含三个参数event, func ...

  10. 关于Linux下s、t、i、a权限

    文件权限除了r.w.x外还有s.t.i.a权限: 首先我们利用umask查看系统的权限为四位,首位就是特殊权限位,SetUID为4,SetGID为2,t为1 [root@iz2ze46xi6pjjj6 ...