概述


这里提供一些注释的技巧,用来模仿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. 51Nod 1182 完美字符串

    Input示例 dad Output示例 77 #include "bits/stdc++.h" using namespace std; #define LL long long ...

  2. linux iptables开放/关闭端口命令

    在CentOS/RHEL 7以前版本上开启端口 #开放端口:8080/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT#将更改进行保存/etc/ ...

  3. rdlc 格式设置

    在用vs2013开发rdlc报表时,发现好多报表样式问题: 1.导出的pdf偶数页总是空白页. 2.导出的Excel打印时,内容显示不全. 3.word内容显示不全. 查了好多资料终于找到解决方案了, ...

  4. 【bzoj2038-小z的袜子】莫队算法

    莫队例题. 莫队学习:https://www.cnblogs.com/Paul-Guderian/p/6933799.html 本题 分子是sigma(c(sum[a[i]],2)),分母是sigma ...

  5. NodeJS 微信公共号开发 - 响应微信发送的Token验证(山东数漫江湖)

    背景 使用 NodeJS 进行微信公共号开发,首先需要响应微信发送的Token验证,官方文档 填写服务器配置 登录微信公共平台,在开发下的基本配置打开该页面. 依次填写接口的 URL.自定义的 Tok ...

  6. 【洛谷 P2762】 太空飞行计划问题(最大权闭合图)

    题目链接 最大权闭合图模型,参考 具体做法是从源点向每个实验连一条流量为这个实验的报酬的边,从每个实验向这个实验需要的所有器材各连一条流量为\(INF\)的边,再从每个器材向汇点连一条流量为这个器材的 ...

  7. Kaggle 数据挖掘比赛经验分享(转)

     原作者:陈成龙 简介 Kaggle 于 2010 年创立,专注数据科学,机器学习竞赛的举办,是全球最大的数据科学社区和数据竞赛平台.笔者从 2013 年开始,陆续参加了多场 Kaggle上面举办的比 ...

  8. linux 设备树【转】

    转自:http://blog.csdn.net/chenqianleo/article/details/77779439 [-] linux 设备树 为什么要使用设备树Device Tree 设备树的 ...

  9. Filecoin:一种去中心化的存储网络(一)

    开始初步了解学习Filecoin,如下是看白皮书的内容整理. 参考: 白皮书中文版 http://chainx.org/paper/index/index/id/13.html 白皮书英文版 http ...

  10. 初识ES6

    1.ECMAScript的官网地址:http://www.ecma-international.org/cma-262/6.0/,其是JS语言的下一代标准,已经在2015年6月正式发布,目标是让JS可 ...