新聞中心
存儲(chǔ)過(guò)程(stored procedure)可以很方便地來(lái)修改sql語(yǔ)句,直接在服務(wù)器上修改,而不用再到程序中修改,然后再保存,存儲(chǔ)過(guò)程可以一定程度的保證數(shù)據(jù)的安全性。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),政和企業(yè)網(wǎng)站建設(shè),政和品牌網(wǎng)站建設(shè),網(wǎng)站定制,政和網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,政和網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
1.存儲(chǔ)過(guò)程大大增強(qiáng)了sql語(yǔ)言的功能和靈活性,存儲(chǔ)過(guò)程可以用流程控制語(yǔ)句編寫(xiě),有很強(qiáng)的靈活性。
2.存儲(chǔ)過(guò)程可以保證數(shù)據(jù)的安全性和完整性,通過(guò)存儲(chǔ)過(guò)程可以使沒(méi)有權(quán)限的用戶(hù)在控制之下間接地存取數(shù)據(jù)庫(kù),從而保證數(shù)據(jù)的安全。通過(guò)存儲(chǔ)結(jié)構(gòu)可以使相關(guān)的動(dòng)作在一起發(fā)生,從而可以維護(hù)數(shù)據(jù)庫(kù)的完整性。
3.運(yùn)用存儲(chǔ)過(guò)程能很快的執(zhí)行,在運(yùn)行存儲(chǔ)過(guò)程前,數(shù)據(jù)庫(kù)已經(jīng)對(duì)其進(jìn)行了語(yǔ)法和句法分析,并且給出了優(yōu)化執(zhí)行方案,這種已經(jīng)編譯好的過(guò)程可以極大地改善sql語(yǔ)句的性能,執(zhí)行sql語(yǔ)句的大部分工作已經(jīng)完成。
4.在一定程度上可以降低網(wǎng)絡(luò)的通信量,如果是sql語(yǔ)句,必須要把sql語(yǔ)句傳給服務(wù)器然后執(zhí)行sql語(yǔ)句。
5.可以集中控制sql語(yǔ)句:比如說(shuō)當(dāng)一個(gè)公司的規(guī)則發(fā)生變化的時(shí)候,只要改變服務(wù)器上的存儲(chǔ)過(guò)程就行,一般公司的規(guī)則經(jīng)常變化,如果把體現(xiàn)規(guī)則的運(yùn)算程序放入應(yīng)用程序中,則當(dāng)公司規(guī)則變化時(shí),就需要修改應(yīng)用程序工作量非常之大,還得修改、發(fā)行和安裝應(yīng)用程序。如果把規(guī)則放在存儲(chǔ)過(guò)程中,則當(dāng)企業(yè)規(guī)則發(fā)生變化的時(shí)候,只要修改存儲(chǔ)過(guò)程就可以了,應(yīng)用程序就無(wú)需變化。
- Create PROCEDURE [dbo].[news_selectNewNews]
- AS
- BEGIN
- select top10 n.id,n.title,n.createTime,c.[name],c.id as caId
- from news n
- inner join category c on n.caId=c.id
- order by n.createTime desc
- END
執(zhí)行存儲(chǔ)過(guò)程的時(shí)候,將數(shù)據(jù)庫(kù)中建好的存儲(chǔ)過(guò)程,交給界面層然后傳給Dal層處理,只要設(shè)置commandtype=StoredProdure,這樣數(shù)據(jù)庫(kù)就可以處理存儲(chǔ)過(guò)程了。
- Public DataTable test(string ProcName)
- {
- DataTable dt=new DataTable();
- Cmd=newSqlCommand(procName,GetConn());(打開(kāi)連接,傳入存儲(chǔ)過(guò)程)
- cmd.CommandType=CommandType.StoredProcedure;(執(zhí)行sql語(yǔ)句和存儲(chǔ)過(guò)程的差別)
- using(sdr=cmd.ExecuteReader(CommandBehavior.CloseConnection))
- {
- Dt.load(sdr);
- }
- Returnsdr;
- }
關(guān)于存儲(chǔ)過(guò)程的知識(shí)就介紹到這里,如果想了解更多SQL Server數(shù)據(jù)庫(kù)的知識(shí),這里的文章很精彩:http://database./sqlserver/,相信一定會(huì)帶給您收獲的。
名稱(chēng)欄目:SQLServer數(shù)據(jù)庫(kù)回顧之存儲(chǔ)過(guò)程的創(chuàng)建和應(yīng)用
轉(zhuǎn)載來(lái)源:http://www.5511xx.com/article/dpodcjh.html


咨詢(xún)
建站咨詢(xún)
