第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,歡迎關注!)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
