



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
存儲過程的優(yōu)點2007-11-0215:21存儲過程只在創(chuàng)造時進行編譯即可,以后每次執(zhí)行存儲過程都不需再重新編譯,而我們通常使用的SQL語句每執(zhí)行一次就編譯一次,所以使用存儲過程可提高數(shù)據(jù)庫執(zhí)行速度。經(jīng)常會遇到復雜的業(yè)務(wù)邏輯和對數(shù)據(jù)庫的操作,這個時候就會用SP來封裝數(shù)據(jù)庫操作。當對數(shù)據(jù)庫進行復雜操作時(如對多個表進行Update,Insert,Query,Delete時),可將此復雜操作用存儲過程封裝起來與數(shù)據(jù)庫提供的事務(wù)處理結(jié)合一起使用。可以極大的提高數(shù)據(jù)庫的使用效率,減少程序的執(zhí)行時間,這一點在較大數(shù)據(jù)量的數(shù)據(jù)庫的操作中是非常重要的。在代碼上看,SQL語句和程序代碼語句的分離,可以提高程序代碼的可讀性。存儲過程可以設(shè)置參數(shù),可以根據(jù)傳入?yún)?shù)的不同重復使用同一個存儲過程,從而高效的提高代碼的優(yōu)化率和可讀性。安全性高,可設(shè)定只有某此用戶才具有對指定存儲過程的使用權(quán)存儲過程的種類:(1) 系統(tǒng)存儲過程:以sp_開頭,用來進行系統(tǒng)的各項設(shè)定.取得信息.相關(guān)管理工作,如sp_help就是取得指定對象的相關(guān)信息。(2) 擴展存儲過程以XP_開頭,用來調(diào)用操作系統(tǒng)提供的功能execmaster..xp_cmdshell'ping10.8.16.1'(3) 用戶自定義的存儲過程,這是我們所指的存儲過程常用格式模版:Createprocedureprocedue_name[?parameterdata_type][output][with]{recompile|encryption}assql_statement解釋:output:表示此參數(shù)是可傳回的with(recompile|encryption}recompile:表示每次執(zhí)行此存儲過程時都重新編譯一次[encryption:所創(chuàng)建的存儲過程的內(nèi)容會被加密。SQL存儲過程實例2007-11-0215:24實例1:只返回單一記錄集的存儲過程。表銀行存款表(bankMoney)的內(nèi)容如下IduserIDSexMoney001Zhangsan男30002Wangwu男50003Zhangsan男40要求1:查詢表bankMoney的內(nèi)容的存儲過程createproceduresp_query_bankMoneyasselect*frombankMoneygoexecsp_query_bankMoney注*在使用過程中只需要把中的SQL語句替換為存儲過程名,就可以了很方便吧!實例2(向存儲過程中傳遞參數(shù)):加入一筆記錄到表bankMoney,并查詢此表中userID=Zhangsan的所有存款的總金額。Createprocinsert_bank@param1char(10),@param2varchar(20),@param3varchar(20),@param4int,@param5intoutputwithencryption 加密asinsertbankMoney(id,userID,sex,Money)Values(@param1,@param2,@param3,@param4)select@param5=sum(Money)frombankMoneywhereuserID='Zhangsan'go在SQLServer查詢分析器中執(zhí)行該存儲過程的方法是:declare@total_priceintexecinsert_bank'004','Zhangsan','男',100,@total_priceoutputprint'總余額為'+convert(varchar,@total_price)go在這里再啰嗦一下存儲過程的3種傳回值(方便正在看這個例子的朋友不用再去查看語法內(nèi)容):以Return傳回整數(shù)以output格式傳回參數(shù)Recordset傳回值的區(qū)別:output和return都可在批次程式中用變量接收,而recordset則傳回到執(zhí)行批次的客戶端中。實例3:使用帶有復雜SELECT語句的簡單過程下面的存儲過程從四個表的聯(lián)接中返回所有作者(提供了姓名)、出版的書籍以及出版社。該存儲過程不使用任何參數(shù)。USEpubsIFEXISTS(SELECTnameFROMsysobjectsWHEREname='au_info_all'ANDtype='P')DROPPROCEDUREau_info_allGOCREATEPROCEDUREau_info_allASSELECTau_lname,au_fname,title,pub_nameFROMauthorsaINNERJOINtitleauthortaONa.au_id=ta.au_idINNERJOINtitlestONt.title_id=ta.title_idINNERJOINpublisherspONt.pub_id=p.pub_idGOau_info_all存儲過程可以通過以下方法執(zhí)行:EXECUTEau_info_all—OrEXECau_info_all如果該過程是批處理中的第一條語句,則可使用:au_info_all實例4:使用帶有參數(shù)的簡單過程CREATEPROCEDUREau_info@lastnamevarchar(40),@firstnamevarchar(20)ASSELECTau_lname,au_fname,title,pub_nameFROMauthorsaINNERJOINtitleauthortaONa.au_id=ta.au_idINNERJOINtitlestONt.title_id=ta.title_idINNERJOINpublisherspONt.pub_id=p.pub_idWHEREau_fname=@firstnameANDau_lname=@lastnameGOau_info存儲過程可以通過以下方法執(zhí)行:EXECUTEau_info'Dull','Ann'—OrEXECUTEau_info@lastname='Dull',@firstname='Ann'—OrEXECUTEau_info@firstname='Ann',@lastname='Dull'—OrEXECau_info'Dull','Ann'—OrEXECau_info@lastname='Dull',@firstname='Ann'—OrEXECau_info@firstname='Ann',@lastname='Dull'如果該過程是批處理中的第一條語句,則可使用:au_info'Dull','Ann'—Orau_info@lastname='Dull',@firstname='Ann'—Orau_info@firstname='Ann',@lastname='Dull'實例5:使用帶有通配符參數(shù)的簡單過程CREATEPROCEDUREau_info2@lastnamevarchar(30)='D%',@firstnamevarchar(18)='%'ASSELECTau_lname,au_fname,title,pub_nameFROMauthorsaINNERJOINtitleauthortaONa.au_id=ta.au_idINNERJOINtitlestONt.title_id=ta.title_idINNERJOINpublisherspONt.pub_id=p.pub_idWHEREau_fnameLIKE@firstnameANDau_lnameLIKE@lastnameGOau_info2存儲過程可以用多種組合執(zhí)行。下面只列出了部分組合:EXECUTE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 液氯企業(yè)安全風險隱患排查表
- 景區(qū)物業(yè)收費管理辦法
- 幕墻工程工作總結(jié)
- 高校數(shù)字化資源服務(wù)系統(tǒng)用戶體驗優(yōu)化
- 當代男性面臨的困境與挑戰(zhàn)
- 跨層網(wǎng)絡(luò)安全防護-洞察及研究
- 安全日常安全檢查表
- 光伏施工安全事故
- 數(shù)據(jù)科學在校園管理中的應(yīng)用
- 電力安全個人工作總結(jié)
- translated-NCCN臨床實踐指南:非小細胞肺癌(中文版2022.V5)
- GB/T 8312-2002茶咖啡堿測定
- 通信線路工程施工組織設(shè)計方案【實用文檔】doc
- 護士注冊健康體檢表下載【可直接打印版本】
- 預計財務(wù)報表編制及分析課件
- 學生集體外出活動備案表
- Q∕SY 1347-2010 石油化工蒸汽透平式壓縮機組節(jié)能監(jiān)測方法
- 西門子順序功能圖語言S7-Graph的應(yīng)用
- 中醫(yī)治療室工作制度管理辦法
- 提花裝造工藝技術(shù)培訓課程
- 直播傳媒公司簡介PPT課件(參考)
評論
0/150
提交評論