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
表 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
相关文章推荐
- PL/SQL编码规范: 注释、变量命名、书写格式、逻辑分支、 循环处理
- pl sql developer 和公司的服务器上的oracle编码搞成一致
- Oracle PL/SQL编程规范指南
- Oracle PL/SQL编程规范指南(转)
- PL SQL Developer登陆Oracle提示客户端与数据库字符编码设置不一致
- Oracle PL/SQL编程规范指南
- PL/SQL编码规范的一些建议
- Oracle(18)pl/sql编程 概念、快速入门及编程规范
- OraclePL/SQL编程规范指南
- Oracle 数据库11g新特性之高效 PL/SQL 编码
- 【Oracle】PL/SQL实现打印1-100中的素数
- oraclepl/sql语言基础
- oracle 不能更新 PL/SQL 点击“edit data”报“ these query results are not updateable”
- 登录PL/SQL后操作oracle提示ORA-01109:数据库未打开
- Oracle PL/SQL语言基础
- Oralce客户端Pl sql deveploer 连接oracle后表数据及注释乱码
- Oracle之PL/SQL Developer 如何显示行号、修改字体-yellowcong
- PL/SQL详细介绍,设置oracle相关
- PL/SQL Developer连接本地Oracle 11g 64位数据库
- 《oracle pl/sql programming》 第11章 record