- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文档状态:
文档编号:
规范_PL/SQL编码
[ ] Draft
[√] Released
[ ] Modifing
编 撰:
编撰日期:
2006-5-21
必威体育官网网址级别:
机密
文档版本:
2.0.0
PL/SQL编码规范 XXX信息技术公司 版 本 历 史
日期 版本 说明 作者 2006-04-08 0.0.1 初稿 2006-04-30 1.0.0 咨询公司审计通过,正式发布 2006-05-21 2.0.0 增加系统集成项目过程
目 录
1 目的 4
2 范围 4
3 规范内容 4
3.1概述PL/SQL语言的特点 4
3.2 整体风格 4
3.3 过程和函数编写风格 5
3.4 包的编写风格 6
3.5 触发器的编写风格 7
3.6 标识符命名规范 8
3.7 注释要求 10
3.8 标识符声明 11
PL/SQL编码规范
目的
为了保证所每个项目组编写出的程序都符合相同的规范保证一致性、统一性而…
end loop;
end;
空格
原则上变量、常量数据和函数在其类型,修饰名称之间适当空格并据情况对齐。
对齐
原则上关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐。另每一行的长度不应超过屏幕太多,必要时适当换行,换行时尽可能在,处或运算符处。
例如:
…
Type t_StudentRecord is Record(
FirstName Varchar2(10),
LastName Varchar2(10),
CurrentCredits Number(3)
);
v_Student t_StudentRecord;
…
空行
不应该存在无规则的空行,比如说连续十个空行。程序文件结构各部分之间空两行,若不必要也可只空一行,各函数实现之间一般空两行,由于每个函数还要有函数说明注释,故通常只需空一行或不空,但对于没有函数说明的情况至少应再空一行。
注释
注释是软件可读性的具体体现。程序注释量一般占程序编码量的20%,软件工程要求不少于20%。
代码长度
对于每一个函数建议尽可能控制其代码合理的长度(50行左右),超过50行的代码要重新考虑将其拆分为两个或两个以上的函数。超长的语句应该在一个逗号或者一个操作符后折行。
3.3 过程和函数编写风格
PL/SQL中的函数和过程(通常称为子程序)是PL/SQL块的一种特殊类型,这种类型的子程序可以以编译的形式存放在数据库中,并为后续的程序块调用。
函数和过程的命名
通常,函数和过程的命名是以能表达函数和过程的动作意义为原则。可以是由动词打头,然后跟上表示动作对象的名词,各单词的首字母应该大写。另外,还有一些函数命名的通用规则,如取数,则用Get打头,然后跟上要取的对象的名字;设置数,则用Set打头,然后跟上要设的对象的名字;而对象中为了响应消息进行动作的函数,可以命名为On打头,然后是相应的消息的名称;进行主动动作的函数,可以命名为Do打头,然后是相应的动作名称。
函数格式
例如:
Create and Replace Function Balance (acct_id INTEGER) RETURN REAL IS
acct_bal REAL;
BEGIN
SELECT bal INTO acct_bal FROM accts
WHERE acct_no = acct_id;
RETURN acct_bal;
END Balance;
过程格式
例如:
Create or Replace PROCEDURE Raise_salary (emp_id INTEGER, amount REAL) IS
current_salary REAL;
salary_missing EXCEPTION;
BEGIN
SELECT sal INTO current_salary FROM emp
WHERE empno = emp_id;
IF current_salary IS NULL THEN
RAISE salary_missing;
ELSE
UPDATE emp SET sal = sal + amount
WHERE empno = emp_id;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO emp_audit VALUES (emp_id, No such number);
WHEN salary_missing THEN
文档评论(0)