資料庫編程之書寫規範

來源:互聯網
上載者:User

資料庫編程中如果出現了醜陋的書寫規範不僅可讀性較差,而且給人以敬而遠之的感覺,就是您是大俠也不行啊;而良好的書寫規範則給人以享受和藝術的體驗。下文中就為大家介紹資料庫編程書寫規範,供大家參考。

大小寫風格
規則

所有資料庫關鍵字和保留字均使用大寫;關於欄位、變數的大小寫風格在1.4 詳細介紹。

縮排風格
規則

程式塊嚴格採用縮排風格書寫,保證代碼清晰易讀,風格一致,縮排格數統一為2 /4 個。

必須使用空格,不允許使用TAB 鍵。以免用不同的編輯器閱讀程式時,因TAB 鍵所設定的空格數目不同而造成程式布局不整齊。

規則

同一條語句需要佔用多於一行時,每行的其它關鍵字與第一行的關鍵字進行靠右對齊。

IF flag=1 THEN

SELECT username -- 同上一行相比縮排4 個空格

INTO vuserinfo --INTO 與SELECT 進行靠右對齊

FROM userinfo --FROM 與SELECT 進行靠右對齊

WHERE userid=:iuserid; --WHERE 與SELECT 進行靠右對齊

END IF;

空格及換行
規則

不允許把多個語句寫在一行中,即一行唯寫一條語句。

規則

避免將複雜的SQL 陳述式寫到同一行,建議要在關鍵字和謂詞處換行。

規則

相對獨立的程式塊之間必須加空行。

BEGIN 、END 獨立成行

規則

太長的運算式應在低優先順序操作符處換行,操作符或關鍵字放在新行之首。劃分出新行應當適當地縮排,使排版整齊,語句可讀。

不同類型的操作符混合使用時,建議使用括弧進行隔離,以使代碼清晰。

規則

減少控制語句的檢查次數,如在 IF…ELSE 控制語句中,對最常用符合條件,盡量前置以被檢查到。

DECLARE

-- 定義局部變數

vFlag VARCHAR2(10); -- 判斷標誌

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 為經常出現之條件,可有效減少判斷檢查次數

--Process something

ELSIF vFlag=2 THEN --vFlag=2 為次之出現的條件

--Process something

ELSE

--Process something

END IF;

其它
規則

避免使用SELECT * 語句;不要用* 來代替所有欄位,應給出欄位列表,以避免表結構發生變化時應用程式出現無法識別的情況。

規則

INSERT 語句必須給出欄位列表,以避免表結構發生變化時發生編譯錯誤。

規則

當一個PL/SQL 或SQL 陳述式中涉及到多個表時,始終使用別名來限定表名和欄位名,這使其它人閱讀起來更方便,避免了含義模糊的引用,並能夠別名中清晰地判斷出表名和相關欄位名。

規則

確保變數和參數在類型和長度與表資料列類型和長度相匹配。說明:如果與表資料列寬度不匹配,則當較寬或較大的資料傳進來時會產生運行異常。

DECLARE

-- 定義相關表欄位變數

vDeptNo salary.Deptno%type; --not VARCHAR2(10) ,以適應變化

vEmployeeNo salary.EmployeeNo%type; --not VARCHAR2(10) ,以適應變化

vSalary salary.Salary%type; --not NUMBER ,以適應變化

BEGIN

--Process something

END;

本文比較適合初學者學習,是大家掌握資料編寫的最基本的知識,希望上文中介紹到的內容對大家能夠有所協助。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.