您的位置:首页 > 数据库 > Oracle

oracle pl/sql编码规范

2011-09-21 09:32 387 查看
一、对象编码规范

表 table t_/tbl_ 或者不加前缀。

视图view v_/v

序列 sequence seq_

蔟 cluster c_

触发器 trigger trg_

存储过程 procedure sp_/p_/proc_

函数 function fn_/f_

物化视图 materialized view mv_

包或者包体 package & package body pkg_

类或者类体 type &type body typ_

主键 primary key pk_

外键 foreign key fk_

唯一索引 unique index uk_

普通索引 normal index idx_

位图索引 bitmap index bk_

同义词 synonym 主要依据分配表所属的模块或者模式

数据库连接 database link 无特殊要求

二、变量命名

输入变量 i_/i

输出变量 o_/o

输入输出变量 io_/io

普通变量 v_/v

全局变量 gv_/gv

常量 大写

游标 cur_

用户自定义类型 type_

保存点(save point) spt_

三、sql语句结构

1、避免使用方言,decode完全可以用case when 语句代替,这样编码性更强。

(+)=又关联用right outer join

(- )=左关联用left outer join

2、复杂的sql(特别是多层嵌套、带子句或者相关的查询),应该考虑是否由于涉及不当引起的,对于复杂的sql可以考虑使用程序实现,原则上遵循一句话只做一件事情。

静态sql>动态sql

绑定变量的sql>动态sql(在oltp系统中建议这么做)

sql>pl/sql的过程,极端的sql除外。

sql>游标遍历。

oracle函数>自定义函数。

用oracle的分析函数代替统一表多次的关联。

3、一定要又异常处理

exception

when other then

rollback to savepoint spt_xxx;

v_err_num:=sqlcode;

v_err_msg=substr(sqlerrm,1,100);

insert /update ;

commit;

end ;

四、部署的顺序

1、创建数据库角色,用户脚本

2、创建数据库表空间,数据文件脚本。

3、创建数据类型脚本,自定义数据类型。

4、创建业务表脚本,表四其他依赖关系的基础。

5、创建临时表脚本,可能会在过程脚本中用到。

6、创建视图脚本。

7、创建主外键脚本。

8、创建索引脚本。

9、创建触发器脚本。

10、创建函数,存储过程脚本。

11、创建初始化数据脚本。

12、创建job脚本。

应该将脚本按照功能存放到不同的目录下,并在相应的目录下创建一个运行所有脚本的总脚本。

原文地址:http://blog.csdn.net/zzuiezhangqihui/article/details/6273023
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: