1. SQL语句全部使用小写。★
2. 引用字符时用单引号。如:update testable set idcol=’abcd’。 ★
3. 连接符或运算符or、in、and、=、<=、>=, +,- 等前后加上一个空格。
4. 严禁使用select * …….形式的语句,必须指出select的具体字段,即select col1, col2,… from tablea where ….★
5. 严禁使用 insert into table values(?,?,?),必须指出具体要赋值的字段,即 insert into tablea (col1, col2,…) values(?,?,…)★
6. SQL语句包含多表连接时,建议对每个表命名别名,对每个字段的使用都要带上表别名,即 select a.col1, a.col2, b.col3 from tablea a, tableb b where a.col4=b.col5
7. 避免隐含的类型转换。例如在where子句中numeric 型和int型的列的比较或相加。★
8. 读取是指通过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,插入或者更新时的时间格式由中间件统一处理,有单独需求的要申请后才能决定。
9. 在子查询中前后必须加上括号, select col1, col2 from tablea where col3 in ( select col4 from tableb where col4>0)★
10.避免在where使用'1=1','1=2'这种表达式作为部分条件,如 select col1, col2 from tablea where 1=1 and col1 >0。
11.禁止使用视图。★