| 導購 | 订阅 | 在线投稿
分享
 
 
當前位置: 王朝網路 >> oracle >> 解讀ORACLE數據庫的統一命名與編碼規範
 

解讀ORACLE數據庫的統一命名與編碼規範

2008-10-24 08:27:33  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
 
  1、編寫目的

  使用統一的命名和編碼規範,使數據庫命名及編碼風格標准化,以便于閱讀、理解和繼承。

  2、適用範圍

  本規範適用于公司範圍內所有以ORACLE作爲後台數據庫的應用系統和項目開發工作。

  3、對象命名規範

  3.1 數據庫和SID

  數據庫名定義爲系統名+模塊名

  ★ 全局數據庫名和例程SID 名要求一致

  ★ 因SID 名只能包含字符和數字,所以全局數據庫名和SID 名中不能含有「_」等字符

  3.2 表相關

  3.2.1 表空間

  ★ 面向用戶的專用數據表空間以用戶名+_+data命名 ,如Aud 用戶專用數據表空間可命名爲Aud_data

  ★ 面向用戶的專用索引表空間以用戶名+_+idx命名

  ★ 面向用戶的專用臨時表空間以用戶名+_+tmp命名

  ★ 面向用戶的專用回滾段表空間以用戶名+_+rbs 命名

  ★ 面向應用的表空間以應用名+_data/應用名+_idx/應用名+_tmp/應用名+_rbs 命名

  ★ LOB 段數據專用表空間以其數據表空間+_+lobs 命名,如上例中數據表空間爲Aud_data,則LOB 段表空間可命名爲Aud_data_lobs

  3.2.2 表空間文件

  表空間文件命名以表空間名+兩位數序號(序號從01開始)組成,如Aud_data01 等

  3.2.3 表

  表命名要遵循以下原則:

  ★ 一般表采用「系統名+t_+模塊名+_+表義名」 格式構成

  ★ 若數據庫中只含有單個模塊,命名可采用「系統名+t_+表義名」格式構成

  ★ 模塊名或表義名均以其漢語拼音的首字符命名,表義名中漢語拼音均采用小寫,且字符間不加分割符;

  ★ 表別名命名規則:取表義名的前3 個字符加最後一個字符。如果存在沖突,適當增加字符(如取表義名的前4 個字符加最後一個字符等)

  ★ 臨時表采用「系統名+t_tmp_+表義名」 格式構成

  ★ 表的命名如

  dft_gy_cbap:系統名(電費 df)+t_+模塊名(高壓 gy)+_+表義名(抄表安排 cbap)

  dft_cbbj: 系統名(電費 df)+t_+表義名(抄表標記 cbbj)

  dft_tmp_hj: 系統名(電費 df)+tmp+表義名(合計hj)(此處爲臨時表)

  

  ★ 關聯表命名爲Re_表A_表B,Re 是Relative的縮寫,表A 和表B均采用其表義名或縮寫形式。

  3.2.4 屬性(列或字段)

  屬性命名遵循以下原則:

  ★ 采用有意義的列名,爲實際含義的漢語拼音的首字符,且字符間不加任何分割符

  ★ 屬性名前不要加表名等作爲前綴

  ★ 屬性後不加任何類型標識作爲後綴

  ★ 不要使用「ID」作爲列名

  ★ 關聯字段命名以 「cd+_+關聯表的表義名(或縮寫)+_+字段名」進行

  3.2.5 主鍵

  ★ 任何表都必須定義主鍵

  ★ 表主鍵命名爲:「pk+_+表名(或縮寫)+_+主鍵標識」如「pk_YHXX_IDKH」等

  3.2.6 外鍵

  表外鍵命名爲: 「fk+_+表名(或縮寫)+_主表名(或縮寫)+_+主鍵標識」如「fk_YHLX_YHXX_SFZH」等

  3.2.7 CHECK約束

  CHECK 約束命名爲: 「chk+_+CHECK約束的列名(或縮寫)」

  3.2.8 UNIQUE約束

  UNIQUE 約束命名爲: 「unq+_+UNIQUE約束的列名(或縮寫)」

  3.2.9 索引

  索引的命名爲:「表名(或縮寫)+_+列名+_idx」。其中多單詞組成的屬性列列名取前幾個單詞首字符再加末單詞首字符組成如yd_kh 表khid 上的index: yd_kh_khid_idx

  3.2.10 觸發器

  ★ AFTER型觸發器

  系統名+tr_+<表名>_+ +[_row]

  ★ BEFORE型觸發器

  系統名+tr_+<表名>_+bef_+[_row]

  ★ INSTEAD OF型觸發器

  系統名+ti_+<表名>+_++[_row]

  ★ 各種類型的觸發器中

  i,u,d 分別表示insert、update 和delete行級觸發器,後加_row 標識,語句級觸發器不加,如 yddftr_CSH_i_row

  3.2.11 簇

  簇以簇中要存儲的各個表(或表別名)及表間加and的組成 命名,即表「A+And+表B…」,如存儲GR(工人)和GRJN(工人技能)表的簇命名爲GRAndGRJN

  3.3 視圖

  視圖命名以系統名v_+模塊名作爲前綴,其他命名規則和表的命名類似

  3.4 序列

  序列命名以seq_+含義名組成

  3.5 同義詞

  同義詞命名與其基礎對象的名稱一致,但要去除其用戶前綴或含有遠程數據庫鏈接的後綴

  3.6 存儲對象相關

  3.6.1 存儲過程

  存儲過程命名由「系統名+sp+_+存儲過程標識(縮寫)」組成存儲過程標識要以實際含義的漢語拼音的首字符構成,並用下劃線分割各個組成部分。如增加代理商的帳戶的存儲過程爲「sfsp_ZJDLSZH」。

  3.6.2 函數

  函數命名由「系統名+f+_+函數標識」組成

  3.6.3 包

  包命名由「系統名+pkg+_+包標識」組成

  3.6.4 函數文本中的變量采用下列格式命名:

  ★ 參數變量命名采用「i (o或io)+_+名稱」形式,前綴i 或o 表輸入還是輸出參數

  ★ 過程變量命名采用「l+_+名稱」形式

  ★ 全局包變量命名采用「g+_+名稱」形式

  ★ 遊標變量命名采用「名稱+_+cur」形式

  ★ 常量型變量命名采用「c+_+名稱」形式

  ★ 變量名采用小寫,若屬于詞組形式,用下劃線分隔每個單詞

  ★ 變量用來存放表中的列或行數據值時,使用%TYPE、%ROWTYPE 方式聲明變量,使變量聲明的類型與表中的保持同步,隨表的變化而變化

  3.7 用戶及角色

  ★ 用戶命名由「系統名稱+_+user+_+名詞(或縮寫)或名詞短語(或縮寫)」組成

  ★ 角色命名由「系統名稱+_+role+_+名詞(或縮寫)或名詞短語(或縮寫)」組成

  3.8 數據庫鏈接

  ★ 數據庫鏈接命名由「遠程服務器名+_+數據庫名+_+link」組成

  ★ 若遠程服務器名和數據庫名一致,上式「_+數據庫名」部分省去

  3.9 命名中的其它注意事項

  ★ 命名都不得超過30個字符。

  ★ 不要在對象名的字符之間留空格

  ★ 小心保留詞,要保證你的命名沒有和保留詞、數據庫系統或者常用訪問方法沖突

  4、 編碼規範

  4.1 一般性注釋

  4.1.1 注釋盡可能簡潔、詳細而全面

  4.1.2 創建每一數據庫對象時都要加上COMMENT ON注釋,以說明該對象的功能和用途;建表時,對某些數據列也要加上COMMENT ON注釋,以說明該列和/或列取值的含義。如:XX 表中有CZZT列屬性爲NUMBER(10, 0)可加COMMENT ON 注釋如下COMMENT ON COLUMN XX.CZZT IS '0 = 正常, 1 = 等待, 2 = 超時, 3 = 登出'

  4.1.3 注釋語法包含兩種情況:單行注釋、多行注釋

  單行注釋:注釋前有兩個連字符(--),一般對變量、條件子句可以采用該類注釋。

  多行注釋:符號/*和*/之間的內容爲注釋內容。對某項完整的操作建議使用該類注釋。

  4.2 函數文本注釋

  4.2.1 在每一個塊和過程(存儲過程、函數、包、觸發器、視圖等)的開頭放置注釋

  /************************************************************************

  *name : --函數名

  *function : --函數功能

  *input : --輸入參數

  *output : --輸出參數

  *author : --作者

  *CreateDate : --創建時間

  *UpdateDate : --函數更改信息(包括作者、時間、更改內容等)

  *************************************************************************/

  CREATE [OR REPLACE] PROCEDURE dfsp_xxx

  …

  

  4.2.2 傳入參數的含義應該有所說明。如果取值範圍確定,也應該一並說明。取值有特定含義的變量(如boolean類型變量),應給出每個值的含義。

  4.2.3 在每一個變量聲明的旁邊添加注釋。說明該變量要用作什麽

  通常,簡單使用單行注釋就行了,例如l_sfzh CHAR(11) --身份證號碼

  4.2.4 在塊的每個主要部分之前添加注釋

  在塊的每個主要部分之前增加注釋,解釋下—組語句目的,最好是說明該段語句及算法的目的以及要得到的結果,但不要對其細節進行過多的描述

  4.2.5 在塊和過程的開頭注釋中還可以增加要訪問的數據庫等信息

  4.3 常用SQL 語句的編寫規範

  4.3.1 CREATE語句

  CREATE TABLE dft_dksz(

  YHBS VARCHAR2(20) NOT NULL,

  ZHGX DATE,

  DKKHD VARCHAR2(24),

  CONSTRAINT pk_dksz_yhbs PRIMARY KEY (YHBS)

  )

  

  4.3.2 SELECT語句

  查詢語句采用以下原則編寫(可最大化重用共享池中的SQL 語句,提高應用程序性能):

  ★ 將SELECT 語句分爲5部分:

  (1) 由SELECT 開頭,後跟一個顯示查詢結果的列表;

  (2) 由FROM 開頭,後跟一個或多個獲取數據所涉及的表;

  (3) 由WHERE 開頭,後跟一個或多個確定所需值的條件;

  (4) 由GROUP BY開頭,後跟一個或多個表列名,通過這些列以對查詢結果進行彙總;

  (5) 由ORDER BY開頭,後跟一個或多個表列名,通過這些列以對查詢結果進行排序。

  ★ 每個部分分行編寫,將每一行的第一個關鍵字與第一行的SELECT尾部對齊,如

  SELECT col1, col2, col3

  FROM table1

  WHERE col1 > col2

  GROUP BY col1, col2

  ORDER BY col1;

  

  ★ 關鍵字用大寫,列名和表名采用小寫

  ★ 語句中嵌入逗號時,在逗號後面加一空格,當逗號是最後一個字符時,把它放在本行

  ★ 當語句的同一部分要延續到下一行時,按下列格式排列:

  SELECT col1, col2, col3, col4, col5, col6,

  col7, col8, col9, col10

  

  ★ 將語句中WHERE 和AND 部分格式化,書寫布局類似于

  WHERE

  AND

  AND

  

  ★ 當語句中出現括號時,括號的兩邊不留空格

  ★ 在SQL 語句使用運算符時,操作兩邊應各留一個空格,如

  WHERE X = Y

  AND A = B

  AND C = D

  

  4.3.3 INSERT語句

  INSERT INTO <要插入的表名>

  (<列1>, <列2>, .., <列n-1>, <列n>)

  VALUES (<列1值>, <列2值>, .., <列n-1值>, <列n值>)

  

  4.3.4 UPDATE語句

  UPDATE <要更新的表名>

  SET <要更新的列> = <列值>

  

  4.3.5 DELETE語句

  DELETE FROM table1

  WHERE col1 = '???'

  

  4.4 條件執行語句(IF)編寫規範

  條件執行語句IF…ELSE 按以下格式編寫

  IF <條件表達式>

  THEN

  <一條或多條語句>

  [ELSE (或ELSIF<條件表達式>)

  THEN

  <一條或多條語句>

  END IF;

  

  注:

  (1) 在IF…THEN和ELSE(或ELSIF)及ELSE…THEN和END IF間可包含一條或多條PL/SQL

  語句,而不需要加BEGIN 和END

  (2) IF…ELSE…ENDIF 語句可以嵌套

  (3) 注意ELSIF的寫法

  4.5 循環語句編寫規範

  4.5.1 簡單循環語句

  LOOP

  <零條或多條語句>

  EXIT WHEN <條件表達式>

  <零條或多條語句>

  END LOOP;

  

  4.5.2 FOR循環語句

  FOR 變量 IN [變量取值範圍]

  LOOP

  <一條或多條語句>

  END LOOP;

  

  4.5.3 WHILE循環語句

  WHILE <條件表達式>

  LOOP

  <一條或多條語句>

  END LOOP;

  

  4.6 函數文本(存儲過程、函數和包等)

  ★ 對于存儲過程、函數等程序塊都要有異常處理部分,在異常部分的最後都要設置OTHERS異常情態處理器,以提高程序的自檢能力,格式如下:

  BEGIN

  …

  EXCEPTION

  WHEN excep—name1 THEN

  …

  WHEN excep—name2 THEN

  …

  WHEN OTHERS THEN

  …

  END;

  

  ★ 對于子程序、觸發器、包等帶名的程序塊,要使用結束標識,如

  CREATE OR REPLACE PROCEDURE XXXsp_XXX IS

  …

  BEGIN

  …

  END XXXsp_XXX;

  /* 此處的過程名XXXsp_XXX是可選的,規範要求寫上,與塊開始的CREATE相對應 */
 
 
 
上一篇《解讀Oracle11g在商業銀行的三大應用亮點》
下一篇《調用Oracle數據庫中的存儲過程需要兩步走》
 
 
 
日版寵物情人插曲《Winding Road》歌詞

日版寵物情人2017的插曲,很帶節奏感,日語的,女生唱的。 最後聽見是在第8集的時候女主手割傷了,然後男主用嘴幫她吸了一下,插曲就出來了。 歌手:Def...

兄弟共妻,我成了他們夜裏的美食

老鍾家的兩個兒子很特別,就是跟其他的人不太一樣,魔一般的執著。兄弟倆都到了要結婚的年齡了,不管自家老爹怎麽磨破嘴皮子,兄弟倆說不娶就不娶,老父母爲兄弟兩操碎了心...

如何磨出破洞牛仔褲?牛仔褲怎麽剪破洞?

把牛仔褲磨出有線的破洞 1、具體工具就是磨腳石,下面墊一個硬物,然後用磨腳石一直磨一直磨,到把那塊磨薄了,用手撕開就好了。出來的洞啊很自然的。需要貓須的話調幾...

我就是掃描下圖得到了敬業福和愛國福

先來看下敬業福和愛國福 今年春節,支付寶再次推出了“五福紅包”活動,表示要“把欠大家的敬業福都還給大家”。 今天該活動正式啓動,和去年一樣,需要收集“五福”...

冰箱異味産生的原因和臭味去除的方法

有時候我們打開冰箱就會聞到一股異味,冰箱裏的這種異味是因爲一些物質發出的氣味的混合體,聞起來讓人惡心。 産生這些異味的主要原因有以下幾點。 1、很多人有這種習...

《極品家丁》1-31集大結局分集劇情介紹

簡介 《極品家丁》講述了現代白領林晚榮無意回到古代金陵,並追隨蕭二小姐化名“林三”進入蕭府,不料卻陰差陽錯上演了一出低級家丁拼搏上位的“林三升職記”。...

李溪芮《極品家丁》片尾曲《你就是我最愛的寶寶》歌詞

你就是我最愛的寶寶 - 李溪芮 (電視劇《極品家丁》片尾曲) 作詞:常馨內 作曲:常馨內 你的眉 又鬼馬的挑 你的嘴 又壞壞的笑 上一秒吵鬧 下...

烏梅的功效與作用以及烏梅的食用禁忌有哪些?

烏梅,又稱春梅,中醫認爲,烏梅味酸,性溫,無毒,具有安心、除熱、下氣、祛痰、止渴調中、殺蟲的功效,治肢體痛、肺痨病。烏梅泡水喝能治傷寒煩熱、止吐瀉,與幹姜一起制...

什麽是脂肪粒?如何消除臉部脂肪粒?

什麽是脂肪粒 在我們的臉上總會長一個個像脂肪的小顆粒,弄也弄不掉,而且顔色還是白白的。它既不是粉刺也不是其他的任何痘痘,它就是脂肪粒。 脂肪粒雖然也是由油脂...

網絡安全治理:國家安全保障的主要方向是打擊犯罪,而不是處置和懲罰受害者

來源:中國青年報 新的攻擊方法不斷湧現,黑客幾乎永遠占據網絡攻擊的上風,我們不可能通過技術手段杜絕網絡攻擊。國家安全保障的主要方向是打擊犯罪,而不是處置和懲罰...

 
 
 
1、編寫目的 使用統一的命名和編碼規範,使數據庫命名及編碼風格標准化,以便于閱讀、理解和繼承。 2、適用範圍 本規範適用于公司範圍內所有以ORACLE作爲後台數據庫的應用系統和項目開發工作。 3、對象命名規範 3.1 數據庫和SID 數據庫名定義爲系統名+模塊名 ★ 全局數據庫名和例程SID 名要求一致 ★ 因SID 名只能包含字符和數字,所以全局數據庫名和SID 名中不能含有「_」等字符 3.2 表相關 3.2.1 表空間 ★ 面向用戶的專用數據表空間以用戶名+_+data命名 ,如Aud 用戶專用數據表空間可命名爲Aud_data ★ 面向用戶的專用索引表空間以用戶名+_+idx命名 ★ 面向用戶的專用臨時表空間以用戶名+_+tmp命名 ★ 面向用戶的專用回滾段表空間以用戶名+_+rbs 命名 ★ 面向應用的表空間以應用名+_data/應用名+_idx/應用名+_tmp/應用名+_rbs 命名 ★ LOB 段數據專用表空間以其數據表空間+_+lobs 命名,如上例中數據表空間爲Aud_data,則LOB 段表空間可命名爲Aud_data_lobs 3.2.2 表空間文件 表空間文件命名以表空間名+兩位數序號(序號從01開始)組成,如Aud_data01 等 3.2.3 表 表命名要遵循以下原則: ★ 一般表采用「系統名+t_+模塊名+_+表義名」 格式構成 ★ 若數據庫中只含有單個模塊,命名可采用「系統名+t_+表義名」格式構成 ★ 模塊名或表義名均以其漢語拼音的首字符命名,表義名中漢語拼音均采用小寫,且字符間不加分割符; ★ 表別名命名規則:取表義名的前3 個字符加最後一個字符。如果存在沖突,適當增加字符(如取表義名的前4 個字符加最後一個字符等) ★ 臨時表采用「系統名+t_tmp_+表義名」 格式構成 ★ 表的命名如 dft_gy_cbap:系統名(電費 df)+t_+模塊名(高壓 gy)+_+表義名(抄表安排 cbap) dft_cbbj: 系統名(電費 df)+t_+表義名(抄表標記 cbbj) dft_tmp_hj: 系統名(電費 df)+tmp+表義名(合計hj)(此處爲臨時表) ★ 關聯表命名爲Re_表A_表B,Re 是Relative的縮寫,表A 和表B均采用其表義名或縮寫形式。 3.2.4 屬性(列或字段) 屬性命名遵循以下原則: ★ 采用有意義的列名,爲實際含義的漢語拼音的首字符,且字符間不加任何分割符 ★ 屬性名前不要加表名等作爲前綴 ★ 屬性後不加任何類型標識作爲後綴 ★ 不要使用「ID」作爲列名 ★ 關聯字段命名以 「cd+_+關聯表的表義名(或縮寫)+_+字段名」進行 3.2.5 主鍵 ★ 任何表都必須定義主鍵 ★ 表主鍵命名爲:「pk+_+表名(或縮寫)+_+主鍵標識」如「pk_YHXX_IDKH」等 3.2.6 外鍵 表外鍵命名爲: 「fk+_+表名(或縮寫)+_主表名(或縮寫)+_+主鍵標識」如「fk_YHLX_YHXX_SFZH」等 3.2.7 CHECK約束 CHECK 約束命名爲: 「chk+_+CHECK約束的列名(或縮寫)」 3.2.8 UNIQUE約束 UNIQUE 約束命名爲: 「unq+_+UNIQUE約束的列名(或縮寫)」 3.2.9 索引 索引的命名爲:「表名(或縮寫)+_+列名+_idx」。其中多單詞組成的屬性列列名取前幾個單詞首字符再加末單詞首字符組成如yd_kh 表khid 上的index: yd_kh_khid_idx 3.2.10 觸發器 ★ AFTER型觸發器 系統名+tr_+<表名>_+ +[_row] ★ BEFORE型觸發器 系統名+tr_+<表名>_+bef_+[_row] ★ INSTEAD OF型觸發器 系統名+ti_+<表名>+_++[_row] ★ 各種類型的觸發器中 i,u,d 分別表示insert、update 和delete行級觸發器,後加_row 標識,語句級觸發器不加,如 yddftr_CSH_i_row 3.2.11 簇 簇以簇中要存儲的各個表(或表別名)及表間加and的組成 命名,即表「A+And+表B…」,如存儲GR(工人)和GRJN(工人技能)表的簇命名爲GRAndGRJN 3.3 視圖 視圖命名以系統名v_+模塊名作爲前綴,其他命名規則和表的命名類似 3.4 序列 序列命名以seq_+含義名組成 3.5 同義詞 同義詞命名與其基礎對象的名稱一致,但要去除其用戶前綴或含有遠程數據庫鏈接的後綴 3.6 存儲對象相關 3.6.1 存儲過程 存儲過程命名由「系統名+sp+_+存儲過程標識(縮寫)」組成存儲過程標識要以實際含義的漢語拼音的首字符構成,並用下劃線分割各個組成部分。如增加代理商的帳戶的存儲過程爲「sfsp_ZJDLSZH」。 3.6.2 函數 函數命名由「系統名+f+_+函數標識」組成 3.6.3 包 包命名由「系統名+pkg+_+包標識」組成 3.6.4 函數文本中的變量采用下列格式命名: ★ 參數變量命名采用「i (o或io)+_+名稱」形式,前綴i 或o 表輸入還是輸出參數 ★ 過程變量命名采用「l+_+名稱」形式 ★ 全局包變量命名采用「g+_+名稱」形式 ★ 遊標變量命名采用「名稱+_+cur」形式 ★ 常量型變量命名采用「c+_+名稱」形式 ★ 變量名采用小寫,若屬于詞組形式,用下劃線分隔每個單詞 ★ 變量用來存放表中的列或行數據值時,使用%TYPE、%ROWTYPE 方式聲明變量,使變量聲明的類型與表中的保持同步,隨表的變化而變化 3.7 用戶及角色 ★ 用戶命名由「系統名稱+_+user+_+名詞(或縮寫)或名詞短語(或縮寫)」組成 ★ 角色命名由「系統名稱+_+role+_+名詞(或縮寫)或名詞短語(或縮寫)」組成 3.8 數據庫鏈接 ★ 數據庫鏈接命名由「遠程服務器名+_+數據庫名+_+link」組成 ★ 若遠程服務器名和數據庫名一致,上式「_+數據庫名」部分省去 3.9 命名中的其它注意事項 ★ 命名都不得超過30個字符。 ★ 不要在對象名的字符之間留空格 ★ 小心保留詞,要保證你的命名沒有和保留詞、數據庫系統或者常用訪問方法沖突 4、 編碼規範 4.1 一般性注釋 4.1.1 注釋盡可能簡潔、詳細而全面 4.1.2 創建每一數據庫對象時都要加上COMMENT ON注釋,以說明該對象的功能和用途;建表時,對某些數據列也要加上COMMENT ON注釋,以說明該列和/或列取值的含義。如:XX 表中有CZZT列屬性爲NUMBER(10, 0)可加COMMENT ON 注釋如下COMMENT ON COLUMN XX.CZZT IS '0 = 正常, 1 = 等待, 2 = 超時, 3 = 登出' 4.1.3 注釋語法包含兩種情況:單行注釋、多行注釋 單行注釋:注釋前有兩個連字符(--),一般對變量、條件子句可以采用該類注釋。 多行注釋:符號/*和*/之間的內容爲注釋內容。對某項完整的操作建議使用該類注釋。 4.2 函數文本注釋 4.2.1 在每一個塊和過程(存儲過程、函數、包、觸發器、視圖等)的開頭放置注釋 /************************************************************************ *name : --函數名 *function : --函數功能 *input : --輸入參數 *output : --輸出參數 *author : --作者 *CreateDate : --創建時間 *UpdateDate : --函數更改信息(包括作者、時間、更改內容等) *************************************************************************/ CREATE [OR REPLACE] PROCEDURE dfsp_xxx … 4.2.2 傳入參數的含義應該有所說明。如果取值範圍確定,也應該一並說明。取值有特定含義的變量(如boolean類型變量),應給出每個值的含義。 4.2.3 在每一個變量聲明的旁邊添加注釋。說明該變量要用作什麽 通常,簡單使用單行注釋就行了,例如l_sfzh CHAR(11) --身份證號碼 4.2.4 在塊的每個主要部分之前添加注釋 在塊的每個主要部分之前增加注釋,解釋下—組語句目的,最好是說明該段語句及算法的目的以及要得到的結果,但不要對其細節進行過多的描述 4.2.5 在塊和過程的開頭注釋中還可以增加要訪問的數據庫等信息 4.3 常用SQL 語句的編寫規範 4.3.1 CREATE語句 CREATE TABLE dft_dksz( YHBS VARCHAR2(20) NOT NULL, ZHGX DATE, DKKHD VARCHAR2(24), CONSTRAINT pk_dksz_yhbs PRIMARY KEY (YHBS) ) 4.3.2 SELECT語句 查詢語句采用以下原則編寫(可最大化重用共享池中的SQL 語句,提高應用程序性能): ★ 將SELECT 語句分爲5部分: (1) 由SELECT 開頭,後跟一個顯示查詢結果的列表; (2) 由FROM 開頭,後跟一個或多個獲取數據所涉及的表; (3) 由WHERE 開頭,後跟一個或多個確定所需值的條件; (4) 由GROUP BY開頭,後跟一個或多個表列名,通過這些列以對查詢結果進行彙總; (5) 由ORDER BY開頭,後跟一個或多個表列名,通過這些列以對查詢結果進行排序。 ★ 每個部分分行編寫,將每一行的第一個關鍵字與第一行的SELECT尾部對齊,如 SELECT col1, col2, col3 FROM table1 WHERE col1 > col2 GROUP BY col1, col2 ORDER BY col1; ★ 關鍵字用大寫,列名和表名采用小寫 ★ 語句中嵌入逗號時,在逗號後面加一空格,當逗號是最後一個字符時,把它放在本行 ★ 當語句的同一部分要延續到下一行時,按下列格式排列: SELECT col1, col2, col3, col4, col5, col6, col7, col8, col9, col10 ★ 將語句中WHERE 和AND 部分格式化,書寫布局類似于 WHERE AND AND ★ 當語句中出現括號時,括號的兩邊不留空格 ★ 在SQL 語句使用運算符時,操作兩邊應各留一個空格,如 WHERE X = Y AND A = B AND C = D 4.3.3 INSERT語句 INSERT INTO <要插入的表名> (<列1>, <列2>, .., <列n-1>, <列n>) VALUES (<列1值>, <列2值>, .., <列n-1值>, <列n值>) 4.3.4 UPDATE語句 UPDATE <要更新的表名> SET <要更新的列> = <列值> 4.3.5 DELETE語句 DELETE FROM table1 WHERE col1 = '???' 4.4 條件執行語句(IF)編寫規範 條件執行語句IF…ELSE 按以下格式編寫 IF <條件表達式> THEN <一條或多條語句> [ELSE (或ELSIF<條件表達式>) THEN <一條或多條語句> END IF; 注: (1) 在IF…THEN和ELSE(或ELSIF)及ELSE…THEN和END IF間可包含一條或多條PL/SQL 語句,而不需要加BEGIN 和END (2) IF…ELSE…ENDIF 語句可以嵌套 (3) 注意ELSIF的寫法 4.5 循環語句編寫規範 4.5.1 簡單循環語句 LOOP <零條或多條語句> EXIT WHEN <條件表達式> <零條或多條語句> END LOOP; 4.5.2 FOR循環語句 FOR 變量 IN [變量取值範圍] LOOP <一條或多條語句> END LOOP; 4.5.3 WHILE循環語句 WHILE <條件表達式> LOOP <一條或多條語句> END LOOP; 4.6 函數文本(存儲過程、函數和包等) ★ 對于存儲過程、函數等程序塊都要有異常處理部分,在異常部分的最後都要設置OTHERS異常情態處理器,以提高程序的自檢能力,格式如下: BEGIN … EXCEPTION WHEN excep—name1 THEN … WHEN excep—name2 THEN … WHEN OTHERS THEN … END; ★ 對于子程序、觸發器、包等帶名的程序塊,要使用結束標識,如 CREATE OR REPLACE PROCEDURE XXXsp_XXX IS … BEGIN … END XXXsp_XXX; /* 此處的過程名XXXsp_XXX是可選的,規範要求寫上,與塊開始的CREATE相對應 */
󰈣󰈤
 
 
 
  免責聲明:本文僅代表作者個人觀點,與王朝網路無關。王朝網路登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
 
竹林裏的甜美養眼美女
MM尖尖的下巴
靓麗的草根美女
超靓迷人的大眼睛美女
海南(二)
霧繞三清山
Oldtime
美麗婺源
 
>>返回首頁<<
 
 熱帖排行
 
 
 
 
© 2005- 王朝網路 版權所有