隨筆-30  評(píng)論-123  文章-0  trackbacks-0

          本手冊(cè)是用友NC開發(fā)過程中SQL使用的經(jīng)驗(yàn)總結(jié)和強(qiáng)制規(guī)范,希望對(duì)大家的SQL語(yǔ)句的書寫和數(shù)據(jù)庫(kù)的開發(fā)能夠給與一定的借鑒。

          一、概述

          本手冊(cè)側(cè)重于
          SQL 開發(fā)書寫過程中的規(guī)范問題。盡可能的在總結(jié)以往開發(fā)過程中形成的 SQL 開發(fā)方法,并針對(duì)在軟件維護(hù)、 SQL 語(yǔ)句跨多數(shù)據(jù)庫(kù)、操作系統(tǒng)適配中出現(xiàn)問題的解決辦法的基礎(chǔ)上,提出的一個(gè) SQL 開發(fā)規(guī)范。

          二、書寫風(fēng)格

          1. SQL 語(yǔ)句全部使用小寫,除在 SQL 中用引號(hào)括起來的常量外,請(qǐng)使用單字節(jié)。

          2.? 引用字符時(shí)用單引號(hào)。如: update testable set idcol=’abcd’

          3.?
          盡量使用 prepareStatement ,利用預(yù)處理功能。少用 createStatement

          4.?在 拼裝 SQL 的時(shí)候,使用 StringBuffer, 不要用 String+String
          的方式。

          5.? 嚴(yán)禁使用 select * ……. 形式的語(yǔ)句,要指出 select
          的具體字段。

          6.? 嚴(yán)禁使用 insert into table value(?????) ,要指出具體要賦值的字段。

          7.?
          SQL
          語(yǔ)句包含多表連接時(shí),必須對(duì)每個(gè)表命名別名,對(duì)每個(gè)字段的使用都要帶上別名。

          8. 當(dāng) SQL 語(yǔ)句含有運(yùn)算符時(shí),運(yùn)算符需與其他字符串用空格區(qū)分 ( 或者用括號(hào)分開 ) 。否則容易導(dǎo)致以下類似問題。在語(yǔ)句 select a–b from table 中, a b 均為變量。拼寫該語(yǔ)句時(shí),如果 a=6 b= -3 ,則語(yǔ)句變?yōu)?/span> select 6--3 from table -- 變?yōu)?/span> Sql
          的注釋,語(yǔ)句報(bào)錯(cuò)。

          9. 避免隱含的類型轉(zhuǎn)換。例如在 where 子句中 numeric 型和 int 型的列的比較或相加。

          10.? 讀取是指通過 JDBC 讀到的數(shù)據(jù)格式,保存是指保存在 VO 中的數(shù)據(jù)格式,插入或者更新是指 insert 或者 update 語(yǔ)句中的數(shù)據(jù)格式。
          ??? a)?? 整型字段:讀取時(shí)根據(jù)字段設(shè)置保存為 Integer 或者 Long

          ??? b)?? 數(shù)字型字段:讀取為 BigDecimal ,并保存為 UFDouble ,插入或者更新時(shí)為 BigDecimal

          ??? c)?? 字符型字段:讀取為 String ,并保存為 String ,插入或者更新為 String

          ??? d)?? 布爾型字段:讀取為 String(‘Y’ OR ‘N’) ,并保存為 UFBoolean ,插入或者更新時(shí)為 String(‘Y’ OR ‘N’)

          ??? e)?? 時(shí)間字段:讀取為 String ,并保存為 UFDateTime
          ,插入或者更新時(shí)的時(shí)間格式由中間件統(tǒng)一處理,有單獨(dú)需求的要申請(qǐng)后才能決定。
          ??
          11.?
          盡量不使用右連接。

          12.? 在使用 UNION UNION? ALL 的前后的兩個(gè) SQL 需要加 ( )


          posted on 2006-04-23 00:22 學(xué)二的貓 閱讀(2184) 評(píng)論(3)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)技術(shù)
          SQL開發(fā)手冊(cè)(1)" trackback:ping="http://www.aygfsteel.com/hsith/services/trackbacks/42562.aspx" /> -->

          評(píng)論:
          # re: NC-->SQL開發(fā)手冊(cè)(1) 2006-04-23 02:20 | 寒晴天
          不好意思,什么是NC????  回復(fù)  更多評(píng)論
            
          # re: NC-->SQL開發(fā)手冊(cè)(1) 2006-04-23 02:48 | Yu Xin
          NC是用友軟件的一款高端的集團(tuán)級(jí)的ERP產(chǎn)品,也是目前國(guó)內(nèi)唯一能與國(guó)外廠商相抗衡的高端ERP產(chǎn)品。NC是New Century的縮寫。NC目前版本為V31SP1,今年五月底會(huì)發(fā)布V35,九月底將隆重推出NC5.0。想了解更多有關(guān)NC的資料,請(qǐng)?jiān)L問:http://www.ufsoft.com.cn/2004product/product1.asp  回復(fù)  更多評(píng)論
            
          # re: NC-->SQL開發(fā)手冊(cè)(1) 2006-04-24 11:29 | 黃金時(shí)代已過
          不錯(cuò)!
          有更多的細(xì)節(jié)嗎?
          比如說表的命名規(guī)則,界面規(guī)范,如何跨數(shù)據(jù)庫(kù),使用了哪些外部包
            回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 黎城县| 兴山县| 安图县| 天峨县| 南城县| 丰都县| 留坝县| 大同县| 封开县| 玛曲县| 温州市| 株洲县| 柯坪县| 武安市| 义乌市| 克山县| 林州市| 浙江省| 思南县| 梁河县| 夏河县| 湘乡市| 婺源县| 清流县| 朔州市| 黔南| 盐边县| 南安市| 改则县| 云梦县| 广西| 周口市| 定西市| 五台县| 诏安县| 平昌县| 石泉县| 和田市| 宁城县| 汾阳市| 贵溪市|