標籤:des style http color io java ar strong 資料
第2部分 資料庫SQL語言
資料庫預存程序中的重要表資訊的儲存及相關建議
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
)
添加?的欄位如紅色字所看到的,當中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資料庫指令碼也須要遵循一定的規則。我們不僅要讓指令碼實現它要完畢的功能,並且要讓效能盡量達到最優。“實踐出真知”,僅僅有不斷地練習和總結,我們的資料庫編程能力才會得到提高。
(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,號:245924426,歡迎關注!)
讓你提前認識軟體開發(28):資料庫預存程序中的重要表資訊的儲存及相關建議