1. PL/SQL编码规范
PL/SQL对大小写不敏感,故切忌使用大小写区分变量和其它用户定义的元素。为使代码具有可读性,可遵循以下简单的大小写规则以便在源代码中区分这些元素:
² 全部保留字、Oracle提供的程序包、内建函数、用户定义的常数、Oracle和用户定义的数据类型,以及模式名均采用大写;
² 所有程序命名和过程名称全部采用大写。
² 修改前必须从CVS去取最新的版本去,同时如存在多个人同时修改的情况,请注意协调分工,注意事后合并版本。
² 所有的包和过程等PL/SQL脚本,请将最新的放在CVS上,
\JCN\20Engineering\20.40SourceCode\PLSQL\这个目录下。
(FUNCTION和PACKAGE等要分开放)
文件的路径如下图片所示
如果是改修的,请到下图的Baseline下去取文件,然后保存到上述路径:
² PL/SQL的包和包体将采用一个文件,名称为包的名字,保留到CVS将,请不要将包和包体分开为两个文件update到CVS。
² 在提交到CVS上去以前,请清理掉临时的变量,和编码的时候采用的临时表等,并请格式化你的代码,不定期将会对代码进行review。
1.1. PL/SQL程序命名规范
1. 无论是PL/SQL对象还是PL/SQL对象内部用的变量和游标等,都必须能从名称上能让人理解变量和游标的含义,而且一定要做好注释。
2. 传到CVS上的文本文件全部采用’.sql’作为文件名的后缀
1.1.1. 存储过程
存储过程的命名必须符合USP_DETAILNAME格式,其中 USP表示是存储过程,DETAILNAME是与存储过程意义相关的意义的名称,如:USP_BUSINESS_RULE。
1.1.2. 软件包
软件包的命名必须符合PKG_ DETAILNAME格式,其中 PKG表示是软件包, DETAILNAME是与软件包意义相关的意义的名称,例如:PKG_SORCE_ALL。
1.1.3. 触发器
触发器的的命名必须符合TRG_DETAILNAME格式,其中TRG表示是触发器,DETAILNAME是与触发器用途相关的意义的名称,具体可以参考已有的TRIGGER对象。
1.1.4. 函数
函数的命名必须符合FNC_DETAILNAME格式,其中FNC表示是函数,,DETAILNAME是与函数意义相关的意义名称,例如:FNC_SALARYCOUNT。
1.1.5. 变量&游标
1. 变量的命名必须符合规约,请采用”XXX_variablename” 开头,其中XXX表示变量的类型。Variablename表示变量名,如为函数传入参数请根据传入类型加上IN,OUT,INOUT 等,如: IN_NUM_CUST_CODE.
2. 如果依据表的字段请采用%type或者%rowtype方式。请不要直接定义变量。
如:NUM_CUST_CODE TableName.CUST_CODE%type
3. 显示游标请采用” CUR_”开头,在代码开头请说明,同时说明游标的定义.
如:CUR_CUST_INFO
4. 所有的变量前必须带上变量类型的标志,NUMBER型采用NUM,VARCAHR2 采用VAR,而在函数等入口的传入方法 IN_VAR_CUST_NAME,OUT_NUM_CODE,INOUT_NUM_CODE的方式来区分变量的类型是否位IN,OUT,INOUT类型
5. 不能超过30个字符,不能采用关键字,要以字母开头。
注tb: 以上命名规则将主要在于新建对象时使用,如果在原有的PL/SQL对象的基础上修改,请按照原来代码的命名规范,注意做好代码的注释。同时必须在PL/SQL代码开头,做好注释说明。