东浦数据库开发标准
1.3 空格及换行
1.3.1不允许把多个语句写在一行中,即一行只写一条语句
示例:以下书写不符合规范:
v_count :=1; v_creation_date := sysdate; 应写成: v_count := 1;
v_creation_date := sysdate;
1.3.2 避免将SQL 语句写到同一行,再短的语句也要在关键字和谓词处换行
示例:以下书写不符合规范:
select duty_id,duty_name from sm_duty where duty_id = :duty_id 应写成:
select duty_id, duty_name from sm_duty
where duty_id = :duty_id;
1.3.3相对独立的程序块之间加空行
两个程序块在逻辑上相对独立,应用空行加以分隔,同时增加注释。 示例: v_duty_id := 1;
if trunc(nvl(disabled_date,sysdate + 1)) > trunc(sysdate) then
select duty_name from sm_duty
where duty_id = :duty_id; … end if; 应写成: v_duty_id := 1;
if trunc(nvl(disabled_date, sysdate + 1)) > trunc(sysdate) then
select duty_name from sm_duty
where duty_id = :duty_id; … end if;
此文档的所有部分都为公司的机密文档,其版权为公司所有,未经允许不得非法复制和外流
东浦数据库开发标准
1.3.4 超长语句的换行
超过110 列的语句要分行书写,长表达式应在低优先级操作符处换行,操任符或关键字放在新行之首。划分出新行应当适当地缩进,使排版整齐,语句可读。
示例:以下不符合规范
110 列 ↓
v1 = s1 + … + (a * b * c * d) + (e * f) + … 应写成:
110 列 ↓
v1 = s1 + … + (a * b * c * d)
+ (e * f) + … 说明:
A. 加法的优先级低于乘法,因此应在加号处折行;
B. 两组乘法虽然在逻辑上会优先于加法,但加上括号使可读性更强。
1.3.5 begin、end 独立成行
示例:以下不符合规范
begin null; exception when others then null; end; 应写成: begin
null; exception when others then
null; end;
1.3.6 if 后的条件要用括号括起来,括号内每行最多两个条件
示例:
if (v_count = 1 or v_count = 2
or v_count = 5 or v_count = 6) then select sysdate into v_date from dual; end if;
1.3.7不同类型的操作符混合使用时,使用括号进行隔离,以使代码清晰
示例:以下书写不符合规范:
此文档的所有部分都为公司的机密文档,其版权为公司所有,未经允许不得非法复制和外流
东浦数据库开发标准
if ‘abc’||’def’ = ‘abcdef’ then
null; end if; 应写成:
if (‘abc’||’def’) = ‘abcdef’ then
null; end if;
此文档的所有部分都为公司的机密文档,其版权为公司所有,未经允许不得非法复制和外流
东浦数据库开发标准
2.注释规范
此文档的所有部分都为公司的机密文档,其版权为公司所有,未经允许不得非法复制和外流
东浦数据库开发标准
2.1 一般性注释
2.1.1 注释尽可能简洁,清晰
2.1.2 创建每一数据库对象时都要加上COMMENT ON注释
以说明该对象的功能和用途;建表时,对某些数据列也要加上COMMENT ON注释,以说明该列和/或列取值的含义。如:XX 表中有CZZT列属性为NUMBER(10, 0)可加COMMENT ON 注释如下COMMENT ON COLUMN XX.CZZT IS '0 = 正常, 1 = 等待, 2 = 超时, 3 = 登出'
2.1.3 注释语法包含两种情况:单行注释、多行注释
单行注释:注释前有两个连字符(--),一般对变量、条件子句可以采用该类注释。
多行注释:符号/*和*/之间的内容为注释内容。对某项完整的操作建议使用该类注释。
此文档的所有部分都为公司的机密文档,其版权为公司所有,未经允许不得非法复制和外流