本手册是用友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
需要加
( )
。
posted on 2006-04-23 00:22
学二的猫 阅读(2156)
评论(3) 编辑 收藏 所属分类:
数据库技术
SQL开发手册(1)"
trackback:ping="http://www.blogjava.net/hsith/services/trackbacks/42562.aspx" />
-->