欢迎来到天天文库
浏览记录
ID:57695600
大小:33.72 KB
页数:7页
时间:2020-09-01
《oracle过程编写规范.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.存储过程编写规范1.1结构体/**********************************180228--增加时间MM--增加人功能说明:(前台和RF标签号校验调用):验收作业,标签号校验ModifybyMM180301修改业务类型错误。--修改人修改时间修改内容**********************************/PROCEDURE pklg_example(parameters) --pragmaautonomous_transaction;独立性事务,根据业务需要增加/* 变量名声明*/ BEGIN /* 业务逻辑代码部分*/
2、Commit;--事务根据业务处理控制strResult:='Y';EXCEPTION whenothersthenrollback;--事务根据业务处理控制/* 异常处理部分*/END;1.2包名和过程规范Ø包名:ü业务逻辑包名:pklg_+业务流程缩写。例如:pklg_odataü对象处理包名:pkobj_+业务流程缩写。例如:pkobj_odataØ过程名üp_+功能处理缩写。例如:p_CheckLabelNoü或者proc_+功能处理缩写。例如:proc_CheckLabelNoØ新增过程ü过程声明前面必须写注释。包括:功能说明,增加人,增加时间Ø修改过程ü在过
3、程声明前面的注释后面写修改记录。包括:修改人,修改时间,修改内容。Ø返回值ü成功返回值第一个字母必须为大写的Y。ü判断成功执行是否成功,判断返回值的第一个字母,是否为大写的Y即可。1.3变量名规范Ø过程内部变量声明:v_+数据类型缩写+字段名。例如:v_strCustNoØ过程参数变量声明:数据类型缩写+字段名。例如:strCustNoØ常用的数据类型:字符:str。数量:i。日期:d。Ø注意:变量名重音要大写。Ø第个变量后面增加注释。Ø声明的类型,尽量使用表的字段类型。例如:v_strCustNobdef_defcust.Cust_NO%type;1.4书写规则Ø连接
4、符OR、IN、AND、以及=、<=、>=等前后加上一个空格。Ø对较为复杂的SQL语句和不易理解的分支条件表达式加上注释,说明算法、功能。Ø常量及变量注释时,应注释被保存值的含义,合法取值的范围。Ø一行有多列,超过80个字符时,基于列对齐原则,采用下行缩进。ØSelect、from、where、groupby、orderby子句书写时,每个关键字占一行,语句另起一行时,以保留字或者连接符开始,连接符右对齐。例如:Selectcust_no,cust_name,count(1)nCountFrombdef_defcustWherecust_no=‘001’Andcust_t
5、ype=‘01’Groupbycust_no,cust_nameOrderbycust_no,cust_nameØ多表连接时,使用表的别名来引用列。ØTAB统一定义为2个空格。1.5事务处理规范Ø存储过程事务控制规则:ü如果是前台界面调用,尽量前台界面控制事务。ü如果是过程内部的子过程,尽量不需要开事务。ü如果是接口过程,尽量使用独立性事务。ØCOMMIT写在业务处理完成处。ROLLBACK写在最后异常处理里的最前面。1.6错误处理规范Ø凡是涉及到表操作(insert,update,select,delete)的sql语句,都必须进行错误捕捉,不能将错误带到后面的语句。
6、Ø存储过程(函数)结束前应统一捕获系统异常。Ø错误信息描述应准确,业务相关的错误应将输入数据拼接到错误信息中。Ø返回的错误,必须带上错误编码,错误描述。每个错误编号要维护对应的解决方法。1.7常见书写优化性能建议Ø大量的排序操作影响系统性能,所以尽量减少ORDERBY和GROUPBY排序操作。 如必须使用排序操作,请遵循如下规则:排序尽量建立在有索引的列上。ØIN、OR子句常会使用工作表,使索引失效;如果不产生大量重复值,可以考虑把子句拆开;拆开的子句中应该包含索引。Ø尽量少用嵌套查询。如必须,请用notexist代替notin子句。Ø用多表连接代替EXISTS子句。Ø
7、少用DISTINCT,用EXISTS代替。Ø查询数据时,不要使用*号,除非需要查询所有字段,否则写出需要处理的字段。2.接口过程处理编写规范2.1处理原则Ø基础资料:按记录处理,按记录提交。处理记录出错时,不影响下一条记录处理。Ø业务单据:按订单处理,按订单提交。处理订单出错时,正常不影响下一条记录处理,除非业务有关联,可根据业务需要控制。Ø必须按接口写入顺序处理。Ø不同的系统对接时,过程包要分开处理。2.2错误日志跟踪Ø捕捉到的错误和系统异常,必须写错误日志。Ø错误日志必须包括:错误编号、错误描述、过程名、时间。Ø错误对照表包括:错误编
此文档下载收益归作者所有