



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
存儲過程的優(yōu)點2007-11-0215:21存儲過程只在創(chuàng)造時進行編譯即可,以后每次執(zhí)行存儲過程都不需再重新編譯,而我們通常使用的SQL語句每執(zhí)行一次就編譯一次,所以使用存儲過程可提高數(shù)據(jù)庫執(zhí)行速度。經(jīng)常會遇到復雜的業(yè)務邏輯和對數(shù)據(jù)庫的操作,這個時候就會用SP來封裝數(shù)據(jù)庫操作。當對數(shù)據(jù)庫進行復雜操作時(如對多個表進行Update,Insert,Query,Delete時),可將此復雜操作用存儲過程封裝起來與數(shù)據(jù)庫提供的事務處理結合一起使用??梢詷O大的提高數(shù)據(jù)庫的使用效率,減少程序的執(zhí)行時間,這一點在較大數(shù)據(jù)量的數(shù)據(jù)庫的操作中是非常重要的。在代碼上看,SQL語句和程序代碼語句的分離,可以提高程序代碼的可讀性。存儲過程可以設置參數(shù),可以根據(jù)傳入?yún)?shù)的不同重復使用同一個存儲過程,從而高效的提高代碼的優(yōu)化率和可讀性。安全性高,可設定只有某此用戶才具有對指定存儲過程的使用權存儲過程的種類:(1) 系統(tǒng)存儲過程:以sp_開頭,用來進行系統(tǒng)的各項設定.取得信息.相關管理工作,如sp_help就是取得指定對象的相關信息。(2) 擴展存儲過程以XP_開頭,用來調用操作系統(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年新理念下的農(nóng)作物種子繁育員考試試題及答案
- 2025建筑施工承包合同
- 農(nóng)作物種子繁育員職業(yè)路徑試題及答案
- 2024年農(nóng)作物種子繁育員面試須知試題及答案
- 大數(shù)據(jù)數(shù)據(jù)挖掘模型構建重點基礎知識點
- 與模具設計師考試相關的試題及答案
- 2024年籃球裁判員考試成功法寶試題及答案
- 模具設計師資格認證考試應試技巧與試題及答案
- 模具設計師資格考試的技巧與試題及答案
- 農(nóng)業(yè)植保員職業(yè)發(fā)展與試題及答案探討2024
- 《監(jiān)察機關監(jiān)督執(zhí)法工作規(guī)定》測試題試題含答案
- Q∕GDW 12154-2021 電力安全工器具試驗檢測中心建設規(guī)范
- 第四章 金融監(jiān)管(商業(yè)銀行管理-復旦大學)
- 初中文言文專項訓練十篇(含答案)
- 中波發(fā)射臺搬遷建設及地網(wǎng)鋪設、機房設備的安裝與調整實踐
- 煤礦頂板事故防治(1)
- 影像診斷學-—-總論PPT課件
- 漏電保護器試跳記錄表
- (完整word版)古籍樣式排版模板
- 調Q技術與鎖模技術(課堂PPT)
- 快速制作會議座次表、會場座位安排
評論
0/150
提交評論