ITPub博客

首页 > 数据库 > Oracle > pl/sql编写规范二

pl/sql编写规范二

原创 Oracle 作者:wzy25 时间:2019-07-14 07:42:07 0 删除 编辑
第二部分: Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 命名规范

[@more@] Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4

命名空间严格遵守《业务系统源代码命名规范》中的各项约定。命名规范适用于常量、变量、过程、函数、包、游标、对象、类型的定义。

1. 通用规则

l 命名以易于理解其含义为原则,命名简洁明了。采用前缀加多个英文单词拼接而成。

l 命名不宜过长。

l 多个英文单词可将各单词首字母大写后拼接或在单词间利用符号“_” 拼接。在同一文档或代码区域内应采用相同方式。

l 命名一律采用小写。本规则不用于常量。

l 采用完整的英文单词(可参考专业术语表),或认可的缩写,避免误解。

l 同一代码块内的不同命名间易于区分。

l 命名在同一项目中应一致。

l 利用反义词命名具有互斥意义的变量、过程、函数。

l 如非必要,避免命名中出现无意义数字,如v_value1,v_value2

l 参数命名采用“p_”,“o_,io_”分别表示输入、输出、双向类型;参数“err_code”、“err_desc”特别表示错误代码和错误描述。

2. 变量命名规则

l 遵守通用命名规则。

l 变量前缀根据其作用域设置,小写,具体定义如下表:

表、变量作用域前缀

变量类型

全局变量

g_

g_PolNo

g_pol_no

局部变量

v_

v_PolNo

v_pol_no

参数变量

p_

p_PolNo

p_pol_no

l 对于和表中字段对应的变量,变量名采用“变量前缀_字段名”的方式,变量类型采用“表名.字段%TYPE”的方式。

示例1

v_empno staff_info.empno%type;

示例2

procedure p_get_emp_name(

p_empno in staff_info.empno%type,

p_emp_name out staff_info.emp_name%type

) is

l 在包下的过程方法名定义可省略与包名相关的部分。

3. 常量命名规则

l 被多处用到且易变化的同义数值或字符,应采用常量命名,便于理解和阅读,变量名不宜过长。

l 常量采用大写。

示例:如下语句直接使用数字定义管理费比例,不易于维护

IF v_manage_fee_rate <> 0.033 THEN

v_manage_fee_rate := 0.033;

END IF;

正确:将数字定义为常量:

CON_MANAGE_FEE_RATE_65801 NUMBER(5,4) := 0.033; --65801险种管理费比例

if v_manage_fee_rate <> CON_MANAGE_FEE_RATE_65801 then

v_manage_fee_rate := CON_MANAGE_FEE_RATE_65801;

end if;

4. 游标命名规则

l c_为前缀,小写,后面接主要表名,多表时可由开发人员自行判定。

示例

cursor c_staff_info is

select emp_name, deptno

from staff_info

where empno = v_empno;

l 游标内使用的变量,应采用参数传入,少使用全局或过程体变量。

示例

cursor c_staff_info (p_empno staff_info.empno%type) is

select emp_name, deptno

from staff_info

where empno = p_empno;

5. 过程、函数、包命名规则

l 遵守通用命名规则。

l p_f_”、“pkg_”分别为过程、函数和包的前缀

示例

procedure p_get_emp_name (p_empno in staff_info.empno%type,

p_emp_name out staff_info.emp_name%type

) is

l 命名的单词采用动宾结构。

示例:参照如下方式命名过程或函数

Procedure p_get_emp_info ( p_empno in staff_info.empno%type) is …

Procedure p_print_pol_info ( p_polno in pol_main%type) is …

l 采用的动词应意义明确,如processhandle等含义不清的动词应避免采用。

6. 对象、类型命名规则

l 遵守通用命名规则。

l r_”、“a_”、“o_”分别为记录(RECORD)、数组(TABLE)、对象(OBJECT)的前缀。

l 类型定义体内要有注释,示例如下。

type r_cs_region_co is record(

exam_grade region_code_tbl.exam_grade%type,--考核级别

region_co number(6,4), --地区系数

achieve_std number(12,2) --标准举绩

);

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/3618/viewspace-1032897/,如需转载,请注明出处,否则将追究法律责任。

上一篇: pl/sql编写规范一
下一篇: pl/sql 编写规范三
请登录后发表评论 登录
全部评论

注册时间:2001-12-14

  • 博文量
    1011
  • 访问量
    763201