欢迎来到天天文库
浏览记录
ID:37959361
大小:135.50 KB
页数:15页
时间:2019-06-03
《DB2存储过程编写规范》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数据库技术标准系列DB2存储过程编写规范版本号:1.0修订记录:修订日期修订版本修订人修订内容2007-03-011.0潘冬梅制定DB2存储过程编写规范15招商银行研发中心技术标准数据库技术标准系列目录第一章.前言3一.编写目的3二.编写背景3三.适用范围3第二章.程序结构4一.整体结构4二.程序说明5三.变量定义5四.异常错误处理6五.程序正文7第三章.命名规范7一.存储过程命名7二.参数命名8三.变量命名8四.临时表命名9第四章.书写格式9一.表达范式9二.段落缩进9三.段落间隔10四.程序注释10第五章.注意事项11一.固定的输出参数11二.临时表
2、的使用11三.数据的插入11四.where条件12五.count的使用12六.全表删除12七.MERGE(UPSERT)的使用12第六章.附录A1215招商银行研发中心技术标准数据库技术标准系列第一章.前言一.编写目的为了提高开发效率和程序的可读性,降低程序编写过程的出错率和重复劳动性,保持程序编写风格的一致性和连贯性,特定此规范。二.编写背景目前数据库工具有很多种,考虑到数据仓库开发的实用性,数据仓库开发工具选择了DB2。三.适用范围本规范适用于招商银行信息技术部开发人员以及运行管理人员,从事DB2存储过程开发的相关技术人必须按照此规范编写存储过程。1
3、5招商银行研发中心技术标准数据库技术标准系列第二章.程序结构一.整体结构创建DB2存储过程必须按如下标准格式书写:DROPPROCEDURE模式名.过程名@CREATEPROCEDURE模式名.过程名(IN
4、OUT输入
5、输出变量名输入
6、输出变量类型[,...])SPECIFIC模式名.过程名LANGUAGESQL/*程序说明*/BEGIN<程序体>END@其中:1)模式名是用来指定该存储过程属于哪个模式下的,默认为编译该过程的登录用户名,但为了过程的统一管理以及各系统间的相互区分,必须要指定一个模式名,模式名由过程所属项目设计中统一制定。2)存储过程可以
7、参数不带参数,但如果带参数必须按照命名规则写出参数名,明确指定参数类型,并显示定义参数的输入输出性质。多个参数之间用换行和逗号分隔。3)程序体一般包括变量定义、异常错误处理、程序正文等。4)整个过程结束的标志符为@。15招商银行研发中心技术标准数据库技术标准系列二.程序说明程序说明是一种注释,是对存储过程作用、定义等的一种描述,在程序正文开始前必须有必要的说明,其具体内容包括:脚本名称:该存储过程名功能:存储过程的作用与所要完成的目的参数:对输入输出参数进行必要的说明调用:如何调用该过程,调用条件等,并写出一个调用的例子返回值:将所有可能的返回值列出创建
8、时间:首次建立该过程的时间作者:建立该过程的作者姓名修改记录:依次记录每次修改的修改人、修改日期、修改原因等信息三.变量定义变量定义规则如下:DECLARE变量名1变量类型[DEFAULT默认值];DECLARE变量名2变量类型[DEFAULT默认值];[…]原则上每个变量的定义都要单独放置一行,并以分号结尾。变量的定义应该出现在存储过程的程序体开始。15招商银行研发中心技术标准数据库技术标准系列四.异常错误处理异常错误处理是正文中必不可少的一部分,有着特定的作用。当过程执行出现警告或错误时需要通过异常处理来判断是否继续执行该过程。它通常在程序变量定义与
9、程序正文之间进行定义。一个规范的异常错误处理定义如下:DECLAREs_rtcdINTEGERDEFAULT0;DECLAREs_rtstCHAR(5)DEFAULT'00000';DECLAREs_textVARCHAR(200);DECLAREs_prdnameVARCHAR(30)DEFAULT'存储过程名';DECLAREs_sysnameVARCHAR(18)DEFAULT'运行系统名';DECLAREs_errlvlchar(4)DEFAULT'提示';DECLARESQLCODEINTEGERDEFAULT0;DECLARESQLSTATE
10、CHAR(5)DEFAULT'00000';DECLAREerror_messagevarchar(1024)DEFAULT'';DECLAREcontinueHANDLERFORSQLWARNINGBEGINGETDIAGNOSTICSEXCEPTION1error_message=MESSAGE_TEXT;sets_rtcd=SQLCODE;sets_rtst=SQLSTATE;sets_errlvl='警告';ifs_rtst<>'01003'thensets_text=s_text
11、
12、'--sqlcode:'
13、
14、cast(s_rtcdaschar
15、(5))
16、
17、'--sqlstate:'
18、
19、s_rtst;insertintoDW
此文档下载收益归作者所有