资源描述:
《关于--SQL编写的规范方案说明》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SQL编写规范1.书写格式 示例代码: 存储过程SQL文书写格式例 select c.dealerCode, round(sum(c.submitSubletAmountDLR+c.submitPartsAmountDLR+c.submitLaborAmountDLR)/count(*),2)asavg, decode(null,'x','xx','CNY') from( select a.dealerCode, a.submitSubletAmountDLR, a.submitPartsAmountDLR, a.submitLaborAmountD
2、LR fromSRV_TWC_Fa where(to_char(a.ORIGSUBMITTIME,'yyyy/mm/dd')>='DateRange(start)' andto_char(a.ORIGSUBMITTIME,'yyyy/mm/dd')<='DateRange(end)' andnvl(a.deleteflag,'0')<>'1') unionall select b.dealerCode, b.submitSubletAmountDLR, b.submitPartsAmountDLR, b.submitLaborAmountDLR fromSRV
3、_TWCHistory_Fb where(to_char(b.ORIGSUBMITTIME,'yyyy/mm/dd')>='DateRange(start)' andto_char(b.ORIGSUBMITTIME,'yyyy/mm/dd')<='DateRange(end)' andnvl(b.deleteflag,'0')<>'1') )c groupbyc.dealerCode orderbyavgdesc; Javasource里的SQL字符串书写格式例 strSQL="insertintoSnd_FinanceHistory_Tb" +"(DEALE
4、RCODE," +"REQUESTSEQUECE," +"HANDLETIME," +"JOBFLAG," +"FRAMENO," +"INMONEY," +"REMAINMONEY," +"DELETEFLAG," +"UPDATECOUNT," +"CREUSER," +"CREDATE," +"HONORCHECKNO," +"SEQ)" +"values('"+draftInputDetail.dealerCode+"'," +"'"+draftInputDetail.requestsequece+"'," +"sysdate," +"'07
5、'," +"'"+frameNO+"'," +requestMoney+"," +remainMoney+"," +"'0'," +"0," +"'"+draftStruct.employeeCode+"'," +"sysdate," +"'"+draftInputDetail.honorCheckNo+"'," +index+")"; 1).缩进 对于存储过程文件,缩进为8个空格 对于Javasource里的SQL字符串,不可有缩进,即每一行字符串不可以空格开头 2).换行 1>.Select/From/Where/Orderby/Groupb
6、y等子句必须另其一行写 2>.Select子句内容如果只有一项,与Select同行写 3>.Select子句内容如果多于一项,每一项单独占一行,在对应Select的基础上向右缩进8个空格(Javasource无缩进) 4>.From子句内容如果只有一项,与From同行写 5>.From子句内容如果多于一项,每一项单独占一行,在对应From的基础上向右缩进8个空格(Javasource无缩进) 6>.Where子句的条件如果有多项,每一个条件占一行,以AND开头,且无缩进 7>.(Update)Set子句内容每一项单独占一行,无缩进 8>.Insert子句内容每个表字段
7、单独占一行,无缩进;values每一项单独占一行,无缩进 9>.SQL文中间不允许出现空行 10>.Javasource里单引号必须跟所属的SQL子句处在同一行,连接符("+")必须在行首 3).空格 1>.SQL内算数运算符、逻辑运算符连接的两个元素之间必须用空格分隔 2>.逗号之后必须接一个空格 3>.关键字、保留字和左括号之间必须有一个空格 2.不等于统一使用"<>" Oracle认为"!="和"<>"是等价的,都代表不等于的意义。为