概述
概述
背景
简介
术语约定
本规范采用以下术语描述:
★规则:编程是强制必须遵守的原则
★建议:编程时必须加以考虑的原则
★说明:对此规则或建议进行必要的解释
★示例:对此规则或建议从正、反两个方面给出
适用范围
本规范适用于Oracle 8及以上版本
规范引用文件
编程规范
书写规范
大小写风格
规则1.1.1:所有数据代码统一使用小写字母书写,也方便不同数据的移值。
说明:本人在看大写程序时,感觉比较痛苦。
示例:以下编码不符合规范
SELECT header_id FROM po_headers
DECLARE
v_count PLS_INTEGER;
应如下编写:
select header_id from po_headers
declare
v_count pls_integer;
缩进风格
规则2.2.1:程序块采用缩进风格书写,保证代码清晰易读,风格一致,缩进格数统一为2个。
规则2.2.2:必须使用空格,不允许使用TAB键。
说明:以免用不同的编辑器阅读程序时,因TAB键所设置的空格数目不同而造成程序布局不整齐。
规则2.2.3:同一条语句占用多于一行时,每行的第一个关键字应当左对齐。
示例:
select field1,field2,…
from t_tablename
where field1>1
and filed2
group by field1,filed2
order by field1,filed2
建议2.2.4:对于Insert … values和update语句,一行写一个字段,这段后面紧跟注释(注释语句左对齐),values和insert左对齐,左括号和右括号与insert、values左对齐。
示例:
insert into sm_user
(
user_id,--用户ID,主键
user_name,--用户名
login_name--登录名
)
values
(
p_user_id,
p_user_name,
p_login_name
)
建议2.2.5:insert…select语句时,应使每行的字段顺序对应,以每行最多不超过4个字段,以方便代码阅读,括号的内容另起一行缩进2格开始书写,关键字单词左对齐,左括号、右括号另起一行与左对齐。
示例,以下代码不符合此规范:
insert into sm_duty_bak(duty_id,duty_name,created_by,creation_date,
last_updated_by,last_update_date,disable_date)
select duty_id,duty_name,created_by,creation_date,
last_updated_by,last_update_date,disable_date
from sm_duty
where duty_id=:duty_id
应如下编写:
insert into sm_duty_bak
(
duty_id,duty_name,created_by,creation_date,
last_updated_by,last_update_date,disable_date
)
select duty_id,duty_name,created_by,creation_date,
last_updated_by,last_update_date,disable_date
from sm_duty
where duty_id=:duty_id
说明:
1.select语句中每行的字段应与insert语句对应。
2.insert语中中折行的字段名应缩进并与上一行的第一个字段名对齐。
3.select语句中折行的字段名应缩进并与上一行的第一个字段名对齐。
空格及换行
规则2.3.1:不允许把多个语句写在一行中,即一行只写一条语句。
示例:以下书写不符合规范:
v_count :=1; v_creation_date := sysdate;
应写成:
v_count := 1;
v_creation_date := sysdate;
规则2.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;
规则2.3.3:相对独立的程序块之间必须加空行。<