數(shù)據(jù)庫編程之書寫規(guī)范
數(shù)據(jù)庫編程中如果出現(xiàn)了丑陋的書寫規(guī)范不僅可讀性較差,而且給人以敬而遠(yuǎn)之的感覺,就是您是大俠也不行?。欢己玫臅鴮懸?guī)范則給人以享受和藝術(shù)的體驗(yàn)。下文中就為大家介紹數(shù)據(jù)庫編程書寫規(guī)范,供大家參考。
大小寫風(fēng)格
規(guī)則
所有數(shù)據(jù)庫關(guān)鍵字和保留字均使用大寫;關(guān)于字段、變量的大小寫風(fēng)格在1.4 詳細(xì)介紹。
縮進(jìn)風(fēng)格
規(guī)則
程序塊嚴(yán)格采用縮進(jìn)風(fēng)格書寫,保證代碼清晰易讀,風(fēng)格一致,縮進(jìn)格數(shù)統(tǒng)一為2 /4 個(gè)。
必須使用空格,不允許使用TAB 鍵。以免用不同的編輯器閱讀程序時(shí),因TAB 鍵所設(shè)置的空格數(shù)目不同而造成程序布局不整齊。
規(guī)則
同一條語句需要占用多于一行時(shí),每行的其它關(guān)鍵字與***行的關(guān)鍵字進(jìn)行右對齊。
IF flag=1 THEN
SELECT username -- 同上一行相比縮進(jìn)4 個(gè)空格
INTO vuserinfo --INTO 與SELECT 進(jìn)行右對齊
FROM userinfo --FROM 與SELECT 進(jìn)行右對齊
WHERE userid=:iuserid; --WHERE 與SELECT 進(jìn)行右對齊
END IF;
空格及換行
規(guī)則
不允許把多個(gè)語句寫在一行中,即一行只寫一條語句。
規(guī)則
避免將復(fù)雜的SQL 語句寫到同一行,建議要在關(guān)鍵字和謂詞處換行。
規(guī)則
相對獨(dú)立的程序塊之間必須加空行。
BEGIN 、END 獨(dú)立成行
規(guī)則
太長的表達(dá)式應(yīng)在低優(yōu)先級操作符處換行,操作符或關(guān)鍵字放在新行之首。劃分出新行應(yīng)當(dāng)適當(dāng)?shù)乜s進(jìn),使排版整齊,語句可讀。
不同類型的操作符混合使用時(shí),建議使用括號進(jìn)行隔離,以使代碼清晰。
規(guī)則
減少控制語句的檢查次數(shù),如在 IF…ELSE 控制語句中,對最常用符合條件,盡量前置以被檢查到。
DECLARE
-- 定義局部變量
vFlag VARCHAR2(10); -- 判斷標(biāo)志
…
BEGIN
IF ((a=b AND a=c AND a=d) OR -- 在OR 處斷行,可使得邏輯更為清晰
(a=e AND e=f)) THEN
--Process something
IF vFlag=1 THEN --vFlag=1 為經(jīng)常出現(xiàn)之條件,可有效減少判斷檢查次數(shù)
--Process something
ELSIF vFlag=2 THEN --vFlag=2 為次之出現(xiàn)的條件
--Process something
ELSE
--Process something
END IF;
其它
規(guī)則
避免使用SELECT * 語句;不要用* 來代替所有字段,應(yīng)給出字段列表,以避免表結(jié)構(gòu)發(fā)生變化時(shí)應(yīng)用程序出現(xiàn)無法識(shí)別的情況。
規(guī)則
INSERT 語句必須給出字段列表,以避免表結(jié)構(gòu)發(fā)生變化時(shí)發(fā)生編譯錯(cuò)誤。
規(guī)則
當(dāng)一個(gè)PL/SQL 或SQL 語句中涉及到多個(gè)表時(shí),始終使用別名來限定表名和字段名,這使其它人閱讀起來更方便,避免了含義模糊的引用,并能夠別名中清晰地判斷出表名和相關(guān)字段名。
規(guī)則
確保變量和參數(shù)在類型和長度與表數(shù)據(jù)列類型和長度相匹配。說明:如果與表數(shù)據(jù)列寬度不匹配,則當(dāng)較寬或較大的數(shù)據(jù)傳進(jìn)來時(shí)會(huì)產(chǎn)生運(yùn)行異常。
DECLARE
-- 定義相關(guān)表字段變量
vDeptNo salary.Deptno%type; --not VARCHAR2(10) ,以適應(yīng)變化
vEmployeeNo salary.EmployeeNo%type; --not VARCHAR2(10) ,以適應(yīng)變化
vSalary salary.Salary%type; --not NUMBER ,以適應(yīng)變化
BEGIN
--Process something
END;
本文比較適合初學(xué)者學(xué)習(xí),是大家掌握數(shù)據(jù)編寫的最基本的知識(shí),希望上文中介紹到的內(nèi)容對大家能夠有所幫助。
【編輯推薦】