新聞中心
數(shù)據(jù)庫(kù)編程中如果出現(xiàn)了丑陋的書(shū)寫(xiě)規(guī)范不僅可讀性較差,而且給人以敬而遠(yuǎn)之的感覺(jué),就是您是大俠也不行??;而良好的書(shū)寫(xiě)規(guī)范則給人以享受和藝術(shù)的體驗(yàn)。下文中就為大家介紹數(shù)據(jù)庫(kù)編程書(shū)寫(xiě)規(guī)范,供大家參考。

大小寫(xiě)風(fēng)格
規(guī)則
所有數(shù)據(jù)庫(kù)關(guān)鍵字和保留字均使用大寫(xiě);關(guān)于字段、變量的大小寫(xiě)風(fēng)格在1.4 詳細(xì)介紹。
縮進(jìn)風(fēng)格
規(guī)則
程序塊嚴(yán)格采用縮進(jìn)風(fēng)格書(shū)寫(xiě),保證代碼清晰易讀,風(fēng)格一致,縮進(jìn)格數(shù)統(tǒng)一為2 /4 個(gè)。
必須使用空格,不允許使用TAB 鍵。以免用不同的編輯器閱讀程序時(shí),因TAB 鍵所設(shè)置的空格數(shù)目不同而造成程序布局不整齊。
規(guī)則
同一條語(yǔ)句需要占用多于一行時(shí),每行的其它關(guān)鍵字與***行的關(guān)鍵字進(jìn)行右對(duì)齊。
IF flag=1 THEN
SELECT username -- 同上一行相比縮進(jìn)4 個(gè)空格
INTO vuserinfo --INTO 與SELECT 進(jìn)行右對(duì)齊
FROM userinfo --FROM 與SELECT 進(jìn)行右對(duì)齊
WHERE userid=:iuserid; --WHERE 與SELECT 進(jìn)行右對(duì)齊
END IF;
空格及換行
規(guī)則
不允許把多個(gè)語(yǔ)句寫(xiě)在一行中,即一行只寫(xiě)一條語(yǔ)句。
規(guī)則
避免將復(fù)雜的SQL 語(yǔ)句寫(xiě)到同一行,建議要在關(guān)鍵字和謂詞處換行。
規(guī)則
相對(duì)獨(dú)立的程序塊之間必須加空行。
BEGIN 、END 獨(dú)立成行
規(guī)則
太長(zhǎng)的表達(dá)式應(yīng)在低優(yōu)先級(jí)操作符處換行,操作符或關(guān)鍵字放在新行之首。劃分出新行應(yīng)當(dāng)適當(dāng)?shù)乜s進(jìn),使排版整齊,語(yǔ)句可讀。
不同類(lèi)型的操作符混合使用時(shí),建議使用括號(hào)進(jìn)行隔離,以使代碼清晰。
規(guī)則
減少控制語(yǔ)句的檢查次數(shù),如在 IF…ELSE 控制語(yǔ)句中,對(duì)最常用符合條件,盡量前置以被檢查到。
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ǔ)句;不要用* 來(lái)代替所有字段,應(yīng)給出字段列表,以避免表結(jié)構(gòu)發(fā)生變化時(shí)應(yīng)用程序出現(xiàn)無(wú)法識(shí)別的情況。
規(guī)則
INSERT 語(yǔ)句必須給出字段列表,以避免表結(jié)構(gòu)發(fā)生變化時(shí)發(fā)生編譯錯(cuò)誤。
規(guī)則
當(dāng)一個(gè)PL/SQL 或SQL 語(yǔ)句中涉及到多個(gè)表時(shí),始終使用別名來(lái)限定表名和字段名,這使其它人閱讀起來(lái)更方便,避免了含義模糊的引用,并能夠別名中清晰地判斷出表名和相關(guān)字段名。
規(guī)則
確保變量和參數(shù)在類(lèi)型和長(zhǎng)度與表數(shù)據(jù)列類(lèi)型和長(zhǎng)度相匹配。說(shuō)明:如果與表數(shù)據(jù)列寬度不匹配,則當(dāng)較寬或較大的數(shù)據(jù)傳進(jìn)來(lái)時(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ù)編寫(xiě)的最基本的知識(shí),希望上文中介紹到的內(nèi)容對(duì)大家能夠有所幫助。
【編輯推薦】
- 關(guān)于學(xué)習(xí)數(shù)據(jù)庫(kù)開(kāi)發(fā)的一點(diǎn)建議和忠告
- DB2數(shù)據(jù)庫(kù)編程序要用到的小技巧有哪些?
- 對(duì)Oracle數(shù)據(jù)庫(kù)編程的總結(jié)
- Oracle數(shù)據(jù)庫(kù)編程應(yīng)用實(shí)例描述
當(dāng)前題目:數(shù)據(jù)庫(kù)編程之書(shū)寫(xiě)規(guī)范
網(wǎng)頁(yè)鏈接:http://www.5511xx.com/article/cdihgdp.html


咨詢(xún)
建站咨詢(xún)
