oracle是北京北大青鳥(niǎo)校區(qū)軟件開(kāi)發(fā)課程中必不可少的一個(gè)專(zhuān)向課程,但是在教學(xué)中我們發(fā)現(xiàn),很多同學(xué)在開(kāi)發(fā)操作中難免會(huì)出現(xiàn)一些不好的“錯(cuò)誤操作”,北京北大青鳥(niǎo)校區(qū)特此為同學(xué)們總結(jié)出一些錯(cuò)誤操作,希望同學(xué)們有所借鑒:
一.oracle編程方面:
1. oracle的代碼書(shū)寫(xiě)格式不規(guī)范,可以參照oracle自帶的代碼格式進(jìn)行編寫(xiě)。
2. oracle對(duì)象的命名規(guī)則要統(tǒng)一,不要使用數(shù)字、中文、拼音,要做到知名見(jiàn)義。
3. 表名、字段名必須要加注釋。
例:comment on table 表名 is '對(duì)表注釋的內(nèi)容'; --給表添加注釋
comment on column 表名.列名 is '對(duì)列注釋的內(nèi)容'; --給列添加注釋
4. 表的約束必須單獨(dú)建立,不要在列名后直接加primary, unique and foreign key constraints 等。
5. 存儲(chǔ)過(guò)程中的輸入輸出參數(shù)必須命名規(guī)范,不要交叉書(shū)寫(xiě)。
6. 各參數(shù)及中間變量的定義,盡量使用 %type來(lái)定義,所有變量都要加注釋。
7. 存儲(chǔ)過(guò)程必須要有異常處理部分(中間過(guò)程除外,由調(diào)用它的過(guò)程來(lái)處理異常。(北京北大青鳥(niǎo)校區(qū))
8. 用游標(biāo)返回結(jié)果時(shí),異常處理部分也必須要有游標(biāo)返回。
9. select語(yǔ)句要列出具體字段名,嚴(yán)禁使用select * 方式。
10. insert語(yǔ)句要列出具體字段名,嚴(yán)禁使用insert into tablename values ( … )方式,或insert into tablename ( … ) values ( … )方式,或insert into tablename select * 方式。
11. 能用靜態(tài)SQL實(shí)現(xiàn)的邏輯,盡量不使用動(dòng)態(tài)SQL,如果使用動(dòng)態(tài)SQL盡可能的綁定變量。
12. 如果存儲(chǔ)過(guò)程或函數(shù)返回游標(biāo)類(lèi)型參數(shù),必須在任何出口前打開(kāi)游標(biāo),用完后必須關(guān)閉。
13. insert into語(yǔ)句不要隨意回車(chē)換行,不然加載時(shí)會(huì)報(bào)錯(cuò)的。
14. 存儲(chǔ)過(guò)程、函數(shù)的結(jié)尾用 ‘ END 對(duì)象名;’ 有時(shí)會(huì)報(bào)錯(cuò)的,直接寫(xiě) END; 結(jié)束。
15. 不同類(lèi)型的對(duì)象腳本應(yīng)該寫(xiě)在不同的文件中,嚴(yán)禁混寫(xiě)。
16. 有多個(gè)域的數(shù)據(jù)庫(kù),數(shù)據(jù)腳本中必須使用 ‘域名.對(duì)象名’,防止混淆。
17. 存儲(chǔ)過(guò)程、函數(shù)必須要有相應(yīng)的注釋說(shuō)明。
(北京北大青鳥(niǎo)校區(qū),未完)