本手冊是用友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
學二的貓 閱讀(2168)
評論(3) 編輯 收藏 所屬分類:
數據庫技術
SQL開發手冊(1)"
trackback:ping="http://www.tkk7.com/hsith/services/trackbacks/42562.aspx" />
-->