日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

對(duì)存儲(chǔ)過程代替SQL語句的討論

admin
2011年5月4日 15:24 本文熱度 3431

在項(xiàng)目開發(fā)中,一直有一種聲音,要用存儲(chǔ)過程代替SQL語句,下文就將對(duì)其中的一些觀點(diǎn)進(jìn)行辨析,供您參考。


1.如果說存儲(chǔ)過程多了,不好找,那你該檢討一下您的命名習(xí)慣是否規(guī)范是否達(dá)意,如果是多人合作的團(tuán)隊(duì),大家更應(yīng)該對(duì)于存儲(chǔ)過程的命名有一致的規(guī)則,當(dāng)然,不只存儲(chǔ)過程需要這樣,其他部分也都要需要這樣.好的存儲(chǔ)過程命名最好能包含操作名稱(insert/update/get/list等),要操作的對(duì)象名稱(表名)等,這樣,即便你的存儲(chǔ)過程再多,一樣也能快速找到要改的那個(gè),這樣命名,還可以讓你通過SQL 2000的對(duì)象查找功能一次性的按表名找到與此表相關(guān)的所有存儲(chǔ)過程的名稱,同理,你用LIST來查,也可以查到所有LIST功能的存儲(chǔ)過程


2,對(duì)于第二種觀點(diǎn),我是不大同意的,在過往的例子中,我發(fā)現(xiàn),將SQL語句從代碼中分離出來,帶來的好處遠(yuǎn)遠(yuǎn)大于壞處,而且這樣更符合分層的原則,如果我們將SQL語句嵌入到代碼中,當(dāng)你僅需要多獲取一個(gè)字段的值,或者對(duì)SQL語句本身做一些修改時(shí),你就必須要編譯,然后上傳DLL,而如果你是用存儲(chǔ)過程的話,你直接改一下存儲(chǔ)過程就好了,而且,將二者分離,DBA寫好存儲(chǔ)過程,列好說明及使用規(guī)則,交給負(fù)責(zé)寫DAL層的同學(xué),DAL層的同學(xué)閉上眼無需了解SQL語句,也可完成他的工作,因此,從這個(gè)角度來說,很好的分隔了工作,不必要要寫DAL層的同學(xué)也是SQL存儲(chǔ)過程高手了


3,防止注入攻擊,如果不用存儲(chǔ)過程而用嵌入式SQL,你勢(shì)必要為了防止注入攻擊而對(duì)輸入的用戶數(shù)據(jù)做更多的處理工作,例如處理一些SQL敏感字符等


4.更為重要的是,如果你要朝一個(gè)表中插入的是一個(gè)BINARY內(nèi)容的時(shí)候,難道你會(huì)用SQL語句嗎?


5,嵌入式SQL特別是拼貼SQL語句,一向是比較容易出問題的環(huán)節(jié),而存儲(chǔ)過程在寫的時(shí)候,就經(jīng)過檢查,儲(chǔ)如漏掉符號(hào),INSERT的字段數(shù)目與參數(shù)數(shù)目不一致的小錯(cuò)誤,會(huì)立即被糾正


6,誰都知道存儲(chǔ)過程是預(yù)編譯的


7,如果你是高手,你可以分析并優(yōu)化存儲(chǔ)過程來提高性能(以前記得看過MS的一個(gè)牛人技術(shù)支持講述存儲(chǔ)過程分析和優(yōu)化,非常啟發(fā)人)


最常見的是,在實(shí)際運(yùn)用中,為了減少DATASET數(shù)據(jù)集的大小和提高性能,通常我們只SELECT當(dāng)前需要的字段,但是,隨著發(fā)展,你可以需要其他字段,這時(shí),如果用嵌入SQL,就要修改SQL語句,編譯,再寫上綁定該字段的表達(dá)式,但是,如果用存儲(chǔ)過程,你只要綁定表達(dá)式,然后給存儲(chǔ)過程中加上這個(gè)字段名就可以了.
再如,如果用STRING來拼貼SQL的INSERT語句,那很可能是這樣拼
string strSql="insert into table (id,username,password,address) value ("+Id.ToString()+","+UserName...
這樣拼貼,多加個(gè)字段時(shí),一花眼,就拼貼錯(cuò)了
如果用存儲(chǔ)過程,你頂多用
SqlParameter myPara=new SqlParameter("@field5",Field5);
再在存儲(chǔ)過程里加上這個(gè)輸入?yún)?shù)就可以了,和修改一下SQL語句就行了,SQL還會(huì)在修改過程中幫你檢查語法
后者顯然比前者用那么多+號(hào)與雙引號(hào)拼貼出錯(cuò)的幾率小多了


該文章在 2011/5/4 15:24:30 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 91社区免费福利区 | 亚洲视频 | 99久热| 星空天美麻花视频大全 | 美女自卫慰出水免费视频 | 日本人浓密bbw | 亚洲精品在线免费 | 女邻居丰 | 国产做国产爱免费视频 | 国产精品午夜高清在线观看 | 99一区二区三区国产热视频在线 | 九九热思思精品视频 | 国产中文亚洲日韩欧美 | 免费在线中文字幕 | 成人开心网| 精品国产福利在线观看 | 国产精品日韩亚洲一区二区 | 亚洲国产aⅴ精品一区二区女女 | 精品免费看国产一区二区 | 亚洲国产第一区二区香蕉 | 免费最新电视剧电影随心看 | 热门电影综艺电视剧在线观看 | 国产精品丝袜黑色高跟鞋 | 伊人开心激情网第一区 | 国产一区二区在线 | 中日韩高清无专码区2 | 国产视频91尤物在线观看 | 一级特黄aa大片欧美 | 亚洲欧洲国产韩国va在线 | 成人午夜视频在线视频 | 国产在线视频一区二区三区 | 日本免费一区二区视频 | 亚洲激精日韩激精欧美潮精品 | 国产亚洲香蕉片在线观看 | 免费aⅴ在线视频 | 国产亚洲精品综合在线网址 | 日韩亚洲欧美三区中文字幕 | 国产精品综合 | 揄揄撸一区 | 三级理论电影三级午夜电影院 | 亚洲欧美日本另类 |