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