提前認識軟體開發(28) 資料庫預存程序中的重要表資訊的儲存

來源:互聯網
上載者:User

1. 預存程序中的重要表資訊的儲存

在很多預存程序中,會涉及到對錶資料的更新、插入或刪除等,為了防止修改之後的表資料出現問題,同時方便追蹤問題,一般會為一些重要的表建立一個對應的debug表。這個debug表中的欄位要包括原表的所有欄位,同時要增加操作時間、作業碼和操作描述等欄位資訊。

例如,在某項目中,包括了如下一個重要的表tb_XXX:

create table tb_XXX    (         AAA                varchar(30)    not null,    -- AAA         BBB                varchar(30)    not null,   -- BBB         CCC                int                     not null,   -- CCC         . . . . . .    )

我們的debug表可以命名為tb_XXX_debuglog,其定義如下:

create table tb_XXX_debuglog    (         AAA                varchar(30)    not null,   -- AAA         BBB                varchar(30)    not null,   -- BBB         CCC                int           not null,   -- CCC         . . . . . .        opertime           varchar(19)        not null,    -- operating time        result              varchar(20)     not null,   -- result code        description     varchar(100)    not null,  -- operating description        reservechar1  varchar(30)            null   -- reserved    )

更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/

增加的欄位如紅色字所示,其中opertime表示操作時間,result表示結果碼(成功或失敗等),description表示操作描述,reservechar1為保留欄位。

預存程序中,在對tb_XXX表進行重要操作之前,可以先將裡面的資料插入(轉存)到tb_XXX_debuglog表中。在需要尋找相關資訊或排錯的時候,可以很方便地找到,提高了程式的異常處理能力。

2. 一些建議

(1) 在編寫完資料庫指令碼之後,一定要用checksql等工具對指令碼進行檢查,可以發現編程中的一些潛在的不足,如索引建立過少、文法有誤等。

(2) 一定要按照公司的規範來對資料庫指令碼進行命名,不能認為只要代碼寫好了,怎麼命名無所謂。

(3) 不管是建表指令碼還是建立預存程序的指令碼,代碼的排版(如縮排、換行、對齊、留空行等)很重要,要盡量使得自己的代碼閱讀起來方便。因為我們首先是為人編寫程式,其次才是電腦。

(4) 當需要在原來的SQL語句中增刪欄位或做其它修改時,建議先將整段SQL語句注釋掉,然後將修改之後的語句添加到被刪除語句的下方,盡量不要在原語句上直接進行修改,這樣方便以後版本的比較。

(5) 對於預存程序中的if、else、else if、while、begin、end等語句自佔一行,執行語句不要緊跟其後,不論其包括的執行語句有多少條,都要加語句塊標誌begin…end,這樣方便閱讀。

與C/C++/Java等程式設計語言一樣,編寫SQL資料庫指令碼也需要遵循一定的規則。我們不僅要讓指令碼實現它要完成的功能,而且要讓效能盡量達到最優。“實踐出真知”,只有不斷地練習和總結,我們的資料庫編程能力才會得到提高。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.