NC-->SQL开发手册(1)

NC-->SQL开发手册(1)

本手册是用友NC开发过程中SQL使用的经验总结和强制规范,希望对大家的SQL语句的书写和数据库的开发能够给与一定的借鉴。

一、概述

本手册侧重于
SQL 开发书写过程中的规范问题。尽可能的在总结以往开发过程中形成的 SQL 开发方法,并针对在软件维护、 SQL 语句跨多数据库、操作系统适配中出现问题的解决办法的基础上,提出的一个 SQL 开发规范。

二、书写风格

1. SQL 语句全部使用小写,除在 SQL 中用引号括起来的常量外,请使用单字节。

2.  引用字符时用单引号。如: update testable set idcol=’abcd’

3. 
尽量使用 prepareStatement ,利用预处理功能。少用 createStatement

4. 在 拼装 SQL 的时候,使用 StringBuffer, 不要用 String+String 的方式。

5.  严禁使用 select * ……. 形式的语句,要指出 select 的具体字段。

6.  严禁使用 insert into table value(?????) ,要指出具体要赋值的字段。

7. 
SQL 语句包含多表连接时,必须对每个表命名别名,对每个字段的使用都要带上别名。

8. SQL 语句含有运算符时,运算符需与其他字符串用空格区分 ( 或者用括号分开 ) 。否则容易导致以下类似问题。在语句 select a–b from table 中, a b 均为变量。拼写该语句时,如果 a=6 b= -3 ,则语句变为 select 6--3 from table -- 变为 Sql 的注释,语句报错。

9. 避免隐含的类型转换。例如在 where 子句中 numeric 型和 int 型的列的比较或相加。

10.  读取是指通过 JDBC 读到的数据格式,保存是指保存在 VO 中的数据格式,插入或者更新是指 insert 或者 update 语句中的数据格式。
    a)   整型字段:读取时根据字段设置保存为 Integer 或者 Long
    b)   数字型字段:读取为 BigDecimal ,并保存为 UFDouble ,插入或者更新时为 BigDecimal
    c)   字符型字段:读取为 String ,并保存为 String ,插入或者更新为 String
    d)   布尔型字段:读取为 String(‘Y’ OR ‘N’) ,并保存为 UFBoolean ,插入或者更新时为 String(‘Y’ OR ‘N’)
    e)   时间字段:读取为 String ,并保存为 UFDateTime ,插入或者更新时的时间格式由中间件统一处理,有单独需求的要申请后才能决定。
  
11.  尽量不使用右连接。

12.  在使用 UNION UNION  ALL 的前后的两个 SQL 需要加 ( )

你可能感兴趣的:(NC-->SQL开发手册(1))