- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL编写规则.cn
「目录」
变更记录 2
校阅人 2
「目录」 3
概要 4
前言 4
目的 4
使用范围 4
开发基准 5
开发设计 5
编码规则 10
命名规约 12
编码的最佳化 14
注释基准 15
新建package、Function、View 15
代码的修改 18
Who column列 19
新建记录 19
更新记录 19
未完成和已完成的课题 20
未完成的课题 20
已完成的课题 20
概要
前言
本开发规约是面向生产统合项目开发,是为了方便Oracle PL/SQL Forms开发及维护而制作的。
目的
本开发规约是围绕以下两点进行的。
简单解读源代码。
方便管理修改内容。
使用范围
Oracle Applications R11i的AddOn开发程序中,在进入数据库开发时,
将完全使用本开发规约。而且,Forms的开发规约另外提供。
本规约是在假定数据库为Oracle 9i的基础上制定的。
生产统合项目中包含程序的移植和新程序的地开发两种类型的开发,本开发规约适用于新程序的开发。
如果移植开发中、制作新程序包、Function、Procedure和他对象,本规约也适用,不过,如果如果设计书中另有规定,则按照设计书,为本规约适用范围外的对象。
开发基准
开发设计
concurrent 化
批処理基本上全部为concurrent启动。
作为Concurrent处理
package(PL/SQL)
SQL(PL/SQL为非对象)
SQL Loader
不作为Concurrent処理
?不访问 Oracle的Shell 等
PL./SQLpackage化
在Pack内按照功能划分Procrdure和Fuction。
不要单独在数据库中创建Procedure和Fuction,而是创建Package,在Package内按照功能划分Procedure和Function,这样不仅仅提高了DB的処理速度,还可以进行攻能分类。
Function 和 Procedure
为了防止后期发生修改错误,在一个package内,相同功能不进行2次编码。
Insert、Delete、Update等有很高的共通性,所以一般分别为一个Procedure或Function。
Overload
基本上不使用Overload。
原则上只可以使用共通函数,如果需要使用overload,要征得设计人员的同意。
编码column
一行编码的长度为不移动光标在画面上所能显示的位数,每个项目内要一致。
使用UNIX时,通常是在80位的地方被自动换行,所以最大为80位,如果超出这个范围,
应该在完整的地方换行,并在行的头部加入空格(indent)。
理由
超出指定位数时,如果自动换行,即使加入空格(indent),代码也不容易理解。
为了对超出画面的代码进行确认,将必须移动游标,由此,将难以弄清它与其他部分的关联。
Indent 规则
Indent为4位,使用空格或使用TAB,每个项目内要统一。
控制语句等的indent最大也不能超过编码column的1/3。不足部分为Function或Procedure。
理由
如果混合使用TAB和空格,按照文件生成软件的设定要求,indent将发生变化,由此,使代码变得难以理解。(在UNIX Vi,是4位Indent,所以TAB的情况下,有必要变更设定要求)
在书写或解读代码过程中,如果使用2、3位的indent,很容易犯indent错误。
Indent太靠后,代码将很难理解。
?PL/SQL BLOCK 的 indent
PL/SQL BLOCK 将各部分的开始命令语句放在头部,以后的部分加indent。
例
PACKAGE BODY sample_package
--header部
AS
--声明部
BEGIN
--header部
PROCEDURE sample_procedure(
P_PARAM1 IN VARCHAR2,
P_PARAM2 IN VARCHAR2)
IS
--声明部
BEGIN
--実行部
EXCEPTION
WHEN OTHERS THEN
--例外処理部
END sample_procedure;
END sample_package;
继续行
第2行以后相对于第1行加indent。为了表现与前面的连续关系,要把第2行以后的编程命令(保留字)和演算子等放在头部。
例
IF max_sales 2000
AND company_pany_id = 100
OR (max_sales 1000
文档评论(0)