资源描述:
《开发规范说明书v1.0》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.数据库开发规范1.1.数据库表命名数据库的表名采用以下规则进行编排:(一)表的命名规则前缀[2位]_类别[3位]_自定义部分。前缀第一位说明(h大额,b小额,e网银,m信息管理,f备付金)前缀第二位说明(x外联,wweb,c核心)(二)为了移植方便,适应其他多种数据库的环境,要求表名长度<=16个英文字符。(三)自定义部分不允许用拼音进行编排。类别划分类别说明类别码控制类ctl流水类jnl明细类dtl登录簿rgt标准数据std统计类cnt日终day举例说明:操作员表:hc_ctl_teller1.2.日期类型的问题Oracle数据库和informix数据库不同,不支持自1899-1
2、2-31以来的long型日期处理。但oracle和informix均支持字符串型的日期处理。因此要求,对应于数据库表中日期型字段的定义,全部定义为STRING类型。即:char变量名[9];处理日期的函数(包括年月日转换、计算前后N天的日期、日期之间的天数等通过包装函数进行统一处理)。格式为:YYYYMMDD1.3.数据库错误宏定义对于数据库操作出现的错误号,除了系统统一定义的宏以外,其他错误号禁止直接用数字描述。以下均是错误的写法:if(SQLCODE==-1)if(SQLCODE==1403)……正确的写法应该为:if(SQLCODE==SQLDUPDATA)if(SQLCODE=
3、=SQLNOTFOUND)……应用中常用的数据库错误编号的规范:#defineSQLNOTFOUND1403/*记录未找到*/#defineSQLDUPDATA-1/*记录重复*/#defineSQLNOTABLE-942/*表不存在*/#defineSQLNOINDEX-1418/*索引不存在*/#defineSQLNULLDATA-1405/*数据有空值*/这些宏定义将定义在系统公用的头文件(db_oracle.h)中。1.1.字符串的使用问题SQL语句中的字符串全部采用‘‘作为标识符,禁止使用“”等作为标识符。取字符串的第M位到第N位,禁止使用field_name[M,N],请使
4、用SUBSTR()函数。SUBSTR(字段名,起始位,长度)多个字符串链接请用“
5、
6、”。例如:取帐号的第1位到第3位,第5位到第6位拼成串SUBSTR(ACCT_NO,1,3)
7、
8、SUBSTR(ACCT_NO,5,2)禁止使用VARCHAR类型的字段作为数据库表结构的索引字段。规定只能如果是字符串类型的字段要求作为索引的话,只能使用CHAR类型。数据库表中为CHAR和VARCHAR的字段,在用SELECT或FETCH取出值后,一定要去掉尾部的空格。原则上谁取出谁去掉空格。1.2.Proc语句规范1.2.1.SELECT语句EXECSQLSELECTfield_name1,field_n
9、ame2,field_nameNFROMtable_name_list,…WHEREcond1ANDcond2GROUPBYfield_nameX,field_nameYORDERBYgrouplist;建议一行不超过5个字段1.1.1.DECLARE语句EXECSQLDECLAREcursor_nameFORSELECTfield_name1,field_name2,…field_nameNFROMtable_name_list,…WHEREcond1ANDcond2GROUPBYfield_nameX,field_nameYORDERBYgrouplist;1.1.2.UPDATE
10、语句EXECSQLUPDATEtable_nameSETfield_name1=:val1,field_name2=:val2,……field_nameN=:valNWHEREcond1ANDcond2;1.1.3.INSERT语句简单的INSERT语句:EXECSQLINSERTINTOtable_nameVALUES(:stru_var);复杂的INSERT语句:EXECSQLINSERTINTOtable_nameVALUES(:val1,:val2,…valN,……:valX,….:valY);1.1.1.FETCH语句简单的FETCH语句:EXECSQLFETCHcurs_n
11、ameINTO:stru_var;复杂的FETCH语句:EXECSQLFETCHcurs_nameINTO:val1,….,:valN,:valX,…,:valY;EXECSQLfetch…必须遵循EXECSQLfetchcurs_nameinto….的格式规范。游标使用完毕后要用EXECSQLclose…关闭。informix释放游标EXECSQLfree…在Oracle中不需要。1.1.2.Update语句标准的update语句格式:EXE