日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

讓你提前認(rèn)識軟件開發(fā)(28):數(shù)據(jù)庫存儲過程中的

系統(tǒng) 1995 0

第2部分 數(shù)據(jù)庫SQL語言

數(shù)據(jù)庫存儲過程中的重要表信息的保存及相關(guān)建議

?

1. 存儲過程中的重要表信息的保存

????????在非常多存儲過程中,會涉及到對表數(shù)據(jù)的更新、插入或刪除等,為了防止改動之后的表數(shù)據(jù)出現(xiàn)故障,同一時候方便追蹤問題,通常會為一些重要的表建立一個相應(yīng)的 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

)

?

???????? 添加?的字段如紅色字所看到的,當(dāng)中 opertime 表示操作時間, result 表示結(jié)果碼 ( 成功或失敗等 ) description 表示操作描寫敘述, reservechar1 為保留字段。

??????? 存儲過程中,在對 tb_XXX 表進(jìn)行重要操作之前,能夠先將里面的數(shù)據(jù)插入 ( 轉(zhuǎn)存 ) tb_XXX_debuglog 表中。在須要查找相關(guān)信息或排錯的時候,能夠非常方便地找到,提高了程序的異常處理能力。

?

2. 一些建議

??????? (1) 在編寫完數(shù)據(jù)庫腳本之后,一定要用 checksql 等工具對腳本進(jìn)行檢查,能夠發(fā)現(xiàn)編程中的一些潛在的不足,如索引建立過少、語法有誤等。

??????? (2) 一定要依照公司的規(guī)范來對數(shù)據(jù)庫腳本進(jìn)行命名,不能覺得僅僅要代碼寫好了,怎么命名無所謂。

??????? (3) 無論是建表腳本還是創(chuàng)建存儲過程的腳本,代碼的排版 ( 如縮進(jìn)、換行、對齊、留空行等 ) 非常重要,要盡量使得自己的代碼閱讀起來方便。由于我們首先是為人編敲代碼,其次才是計算機(jī)。

??????? (4) 當(dāng)須要在原來的 SQL 語句中增刪字段或做其他改動時,建議先將整段 SQL 語句凝視掉,然后將改動之后的語句加入?到被刪除語句的下方,盡量不要在原語句上直接進(jìn)行改動,這樣方便以后版本號的比較。

??????? (5) 對于存儲過程中的 if else else if while begin end 等語句自占一行,運(yùn)行語句不要緊跟其后,不論其包含的運(yùn)行語句有多少條,都要加語句塊標(biāo)志 begin end ,這樣方便閱讀。

?

??????? 與C/C++/Java等編程語言一樣,編寫SQL數(shù)據(jù)庫腳本也須要遵循一定的規(guī)則。我們不僅要讓腳本實現(xiàn)它要完畢的功能,并且要讓性能盡量達(dá)到最優(yōu)。“實踐出真知”,僅僅有不斷地練習(xí)和總結(jié),我們的數(shù)據(jù)庫編程能力才會得到提高。

?

?

(本人微博: http://weibo.com/zhouzxi?topnav=1&wvr=5 ,微信號:245924426,歡迎關(guān)注!)

讓你提前認(rèn)識軟件開發(fā)(28):數(shù)據(jù)庫存儲過程中的重要表信息的保存及相關(guān)建議


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 墨江| 哈巴河县| 沈丘县| 新建县| 昆明市| 青浦区| 景东| 二手房| 兰坪| 孟连| 淄博市| 金乡县| 汉中市| 色达县| 集安市| 通江县| 榆社县| 金山区| 饶平县| 靖州| 麦盖提县| 潢川县| 盐源县| 迁西县| 永修县| 京山县| 广州市| 眉山市| 玉田县| 和田县| 景泰县| 长顺县| 璧山县| 保康县| 乌拉特后旗| 托克逊县| 六盘水市| 凌源市| 民勤县| 龙井市| 阿瓦提县|