ORACLE存储过程编码规范.doc

ORACLE存储过程编码规范.doc

ID:58487449

大小:19.00 KB

页数:3页

时间:2020-05-16

ORACLE存储过程编码规范.doc_第1页
ORACLE存储过程编码规范.doc_第2页
ORACLE存储过程编码规范.doc_第3页
资源描述:

《ORACLE存储过程编码规范.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ORACLE存储过程编码规范1.1变量规范Ø变量名、常量名、参数名、函数名、存储过程名、包名等所有对象全部用英文拼写,不允许用汉语拼音,多个单词间用下划线分割。Ø全局常量全部用大写,全局变量全部用小写,且全局变量尽量避免使用。Ø局部变量全部小写,使用“v_”开头,输入参数以“i_”开头,输出参数以“o_”开头,输入输出参数用io_开头。Ø游标的定义:游标统一用前缀“cur_”命名Ø当变量代表列时,使用%TYPE属性,当变量实际上表示数据库表的某列数据时,为避免数据库结构修改对变量的影响,应统一使用%TYPE属性对变量命名1.2显示游标规范Ø外部查询的多行数据返回使用游标进行处理,通过传递游

2、标变量的形式返回数据到外部接口,由外部程序自行FETCH数据。Ø打开游标前,必须显式检查游标的%ISOPEN属性。Ø使用FETCH语句后,要立即检查%NOTFOUND属性,以便正常终止游标FETCH循环。Ø无论PL/SQL程序是正常终止还是出错退出,都要关闭所有已打开的游标。在出错退出时,应该在其异常处理部分管理所有游标,这可以释放一部分的系统资源1.3事务处理规范Ø在需要分割事务以使主事务的提交或者回滚独立于子事务的提交及回滚时,应使用自动提交事务。Ø所有的存储过程均统一在结束处统一COMMIT或者ROLLBACK。1.4错误处理规范Ø凡是涉及到表操作(insert,update,sel

3、ect,delete)的sql语句,都必须进行错误捕捉,不能将错误带到后面的语句Ø从表中SELECT数据INTO到指定变量中的SQL语句,应严格区分NO_DATA_FOUND和TOO_MANY_ROWS的错误,并将相应错误信息填入错误信息nNO_DATA_FOUND多数为查询条件问题导致无数据返回(用户级错误)nTOO_MANY_ROWS应该是数据表内数据异常导致(系统级错误)Ø所有存储过程(函数)的统一出口一律在存储过程的结束部分,不允许中间返回Ø在每一个异常处理部分,都要定义WHENOTHER子程序,以便捕获所有没有显示处理或其他类型的异常Ø所有程序中捕获到的错误,均转换成对应的err

4、code,errmsg,通过输出参数返回给调用者,所有存储过程(函数)结束前应统一捕获系统异常Ø在每个存储过程(函数)的入口处统一先将返回错误代码(errCode)设置为-1,功能处理成功结束后再将错误代码(errCode)设置为0(成功),避免程序过程中因错误未能正确捕获,导致功能未能完成,而程序却成功返回的情况出现1.5书写规范ØPL/SQL语句的所有表名、字段名遵照数据字典的定义,系统保留字、内置函数名、PL/SQL保留字、所有脚本全部大写。Ø连接符OR、IN、AND、以及=、<=、>=等前后加上一个空格。Ø对较为复杂的SQL语句加上注释,说明算法、功能。Ø注释风格:注释单独成行、放

5、在语句前面。Ø应对不易理解的分支条件表达式加注释;Ø对重要的计算应说明其功能;Ø过长的函数实现,应将其语句按实现的功能分段加以概括性说明;Ø常量及变量注释时,应注释被保存值的含义(必须),合法取值的范围Ø可采用单行/多行注释。(--或/**/方式)ØTAB统一定义为4个空格,建议使用PL/SQL作为SQL书写工具Ø多表连接时,使用表的别名来引用列。Ø一行有多列,超过80个字符时,基于列对齐原则,采用下行缩进。1.6书写优化性能建议Ø大量的排序操作影响系统性能,所以尽量减少ORDERBY和GROUPBY排序操作。如必须使用排序操作,请遵循如下规则n排序尽量建立在有索引的列上n如结果集不需唯一

6、,使用UNIONALL代替UNIONØ索引的使用n尽量避免对索引列进行计算,这样索引会失效n尽量注意比较值与索引列数据类型的一致性n索引中,尽量避免使用NULLn对于索引的比较,尽量避免使用!=查询列和排序列与索引列次序保持一致Ø尽量避免相同语句由于书写格式的不同,而导致多次语法分析。Ø查询的WHERE过滤原则,应使过滤记录数最多的条件放在最前面。Ø任何对列的操作都将导致表扫描,它包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等号右边。ØIN、OR子句常会使用工作表,使索引失效;如果不产生大量重复值,可以考虑把子句拆开;拆开的子句中应该包含索引。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。