现在的位置: 首页 > 综合 > 正文

oracle pl/sql编码规范

2012年09月07日 ⁄ 综合 ⁄ 共 1247字 ⁄ 字号 评论关闭

一、对象编码规范

 

表 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

抱歉!评论已关闭.