版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數據庫設計與實現(xiàn)創(chuàng)建和執(zhí)行存儲過程楊陽存儲過程學習目標:理論目標:理解存儲過程的運行過程實踐目標:掌握存儲過程的創(chuàng)建和執(zhí)行的操作存儲過程存儲過程的概念存儲過程(StoredProcedure)類似于C語言中的函數,它是一組為了完成特定功能的T-SQL語句集合。存儲過程存儲在數據庫內,可以有用戶的應用程序,通過指定存儲過程名稱及相關參數來執(zhí)行。存儲過程存儲過程的優(yōu)點。1.模塊化的程序設計,實現(xiàn)代碼多次調用。存儲過程只需創(chuàng)建一次,并存儲在數據庫中,在以后的使用中,便可重復調用,不需要每次重新編寫。2.加快執(zhí)行速度。如果某一操作包含大量的或者需多次執(zhí)行的代碼,存儲過程要比T-SQL代碼執(zhí)行速度要快。因為創(chuàng)建存儲過程時,已經被分析和優(yōu)化,但是對于T-SQL代碼,每次執(zhí)行時都要進行編譯和優(yōu)化。3.減少網絡流量。使用存儲過程,可以調用需要若干行T-SQL代碼的操作,而不需要通過網絡傳送這些代碼。4.可以作為安全機制。對用戶只授予執(zhí)行存儲過程的權限,而不授予用戶直接訪問相應表的權限,這樣既保證了用戶操作數據庫中的數據,又能保證用戶不能訪問相應的表,保證數據的安全。存儲過程存儲過程的分類1.系統(tǒng)存儲過程。系統(tǒng)存儲過程是一組預編的T-SQL語句,提供了管理數據庫和更新表的功能,系統(tǒng)存儲過程位于master數據庫和msdb數據庫,并且所有的存儲過程的名稱均為sp_*形式。例如sp_databases,代表列出服務器所有的數據庫,2.用戶定義的存儲過程。由用戶創(chuàng)建并能完成某種特定功能的存儲過程,分為:T-SQL存儲過程:指保存的T-SQL語句集合,可以接受和返回用戶提出的參數。CLR存儲過程:指對Microsoft.NETFramework公共語言運行時方法的引用,可以接受和返回用戶提供的參數。在.NETFramework程序集中作為類的公共靜態(tài)方法實現(xiàn)的。3.擴展存儲過程。擴展存儲過程是SQLServer實例可以動態(tài)加載和運行的DLL。擴展存儲過程是使用SQLServer擴展存儲過程API編寫的,可直接在SQLServer實例的地址空間中運行。創(chuàng)建與執(zhí)行存儲過程【例8-1】為數據庫“Librarymanage”創(chuàng)建一個存儲過程,存儲過程名稱為Booksearch,該存儲過程在“Bookinfo”中查詢書籍“數據庫”的具體情況。1.打開[對象資源管理],左鍵單擊展開“[數據庫]-[Librarymanage]-[可編程性]”節(jié)點,選擇存儲過程節(jié)點,單擊右鍵彈出菜單,左鍵點擊“新建存儲過程”命令。2.在[查詢編輯器]中出現(xiàn)存儲過程的編程模板,在模板上通過編寫T-SQL代碼,創(chuàng)建存儲過程。3.單擊“執(zhí)行”按鈕,運行成功后,在[對象資源管理]窗口,首先,右鍵單擊“[存儲過程]”節(jié)點,點擊“刷新”按鈕,然后左鍵單擊展開“[存儲過程]”節(jié)點,可以看到新建的存儲過程Booksearch。4.創(chuàng)建完新的存儲過程,在[對象資源管理]窗口,首先,右鍵單擊已創(chuàng)建的存儲過程dbo.Booksearch彈出菜單,左鍵點擊“執(zhí)行存儲過程”命令。創(chuàng)建與執(zhí)行存儲過程使用T-SQL創(chuàng)建存儲過程,其語法如下:CREATEPROC[EDURE]<存儲過程名>{@參數1數據類型}[=默認值][OUTPUT],…{@參數n數據類型}[=默認值][OUTPUT]AS[BEGIN]T-SQL語句[END]
使用T-SQL語句進行調用,語法如下:EXEC<存儲過程名稱>[參數表]
創(chuàng)建與執(zhí)行存儲過程【例8-2】為數據庫“Librarymanage”創(chuàng)建一個存儲過程“sp_bookquantity”,該存儲過程在“Bookinfo”表中查詢剩余數量少于5本的書籍的編號、書名、作者、出版社和剩余數量。單擊“新建查詢”按鈕,在[查詢編輯器]中輸入以下代碼。USELibrarymanageGOCREATEPROCEDUREsp_bookquantityASBEGINSELECTBook_ID,Book_name,Book_author,Book_press,Book_price,Book_quantityFROMBookinfoWHEREBook_quantity<5END單擊“執(zhí)行”按鈕,即創(chuàng)建了存儲過程“sp_bookquantity”。
創(chuàng)建與執(zhí)行存儲過程調用此存儲過程:EXECsp_bookquantity結果如圖
創(chuàng)建與執(zhí)行存儲過程【例8-3】為數據庫“Librarymanage”創(chuàng)建一個存儲過程“proc_bookname”,該存儲過程根據使用者輸入的書名在“Bookinfo”表中查詢書籍的書名、作者、出版社和價錢。單擊“新建查詢”按鈕,在[查詢編輯器]中輸入以下代碼。USELibrarymanageGOCREATEPROCEDUREproc_bookname@booknameNVARCHAR(50)ASBEGINSELECTBook_name,Book_author,Book_press,Book_priceFROMBookinfoWHEREBook_name=@booknameEND單擊“執(zhí)行”按鈕,即創(chuàng)建了存儲過程“proc_bookname”。
創(chuàng)建與執(zhí)行存儲過程調用存儲過程,執(zhí)行以下代碼,查詢書名為“數據庫”的書籍的情況:EXECproc_bookname'數據庫‘結果如圖
創(chuàng)建與執(zhí)行存儲過程【例8-4】為數據庫“Librarymanage”創(chuàng)建一個存儲過程“proc_bookpress”,該存儲過程根據使用者輸入的出版社名在“Bookinfo”表中查詢書籍的編號、書名、類型、作者、出版社和價錢等信息,不輸入書名時查詢“清華大學出版社”出版書籍的信息。單擊“新建查詢”按鈕,在[查詢編輯器]中輸入以下代碼。USELibrarymanageGOCREATEPROCEDUREproc_bookpress@PRESSNVARCHAR(50)='清華大學出版社'ASBEGINSELECTBook_ID,Book_name,Book_type,Book_author,Book_press,Book_priceFROMBookinfoWHEREBook_press=@PRESSEND
單擊“執(zhí)行”按鈕,即創(chuàng)建了存儲過程“proc_bookpress”。創(chuàng)建與執(zhí)行存儲過程調用存儲過程,在不輸入書名時候,執(zhí)行以下代碼,:EXECproc_bookpress結果如圖
創(chuàng)建與執(zhí)行存儲過程調用存儲過程,查詢科學出版社出版的書籍,執(zhí)行以下代碼,:EXECproc_bookpress‘科學出版社’
結果如圖
創(chuàng)建與執(zhí)行存儲過程【例8-5】為數據庫“Librarymanage”創(chuàng)建一個存儲過程“proc_readerdepartment”,該存儲過程根據使用者輸入的讀者號在即可顯示讀者單位和姓名。單擊“新建查詢”按鈕,在[查詢編輯器]中輸入以下代碼。USELibrarymanageGOCREATEPROCEDUREproc_readerdepartment@ReaderIDNVARCHAR(8),@ReadernameNVARCHAR(30)OUTPUT,@ReaderdepartmentNVARCHAR(50)OUTPUTASSELECT@Readername=Reader_name,@Readerdepartment=Reader_departmentFROMReaderinfoWHEREReader_ID=@ReaderID
單擊“執(zhí)行”按鈕,即創(chuàng)建了存儲過程“proc_bookname”。
創(chuàng)建與執(zhí)行存儲過程調用存儲過程,執(zhí)行以下代碼,查詢書名為“數據庫”的書籍的情況:declare@RIDNVARCHAR(8),@ReadernameNVARCHAR(30),@ReaderdepartmentNVARCHAR(50)set@RID=12010101ex
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高端裝備制造業(yè)基地施工分包合同
- 2025年未實繳出資股份交易合同范本及風險提示3篇
- 二零二四年度2024權合作合同范本:信息安全服務合作協(xié)議3篇
- 2025年度綠色屋頂綠化設計與植物養(yǎng)護服務合同4篇
- 2025年度智能工廠安防監(jiān)控系統(tǒng)集成合同范本2篇
- 二零二五版環(huán)保管家技術服務合同樣本:環(huán)保設施投資合作3篇
- 2025年涂裝勞務分包合同范本大全:涂裝工藝創(chuàng)新3篇
- 個人勞務合同書電子版
- 2024金融科技服務平臺集成合同
- 2025年度煤泥資源化利用技術與設備采購合同4篇
- 名表買賣合同協(xié)議書
- COCA20000詞匯音標版表格
- 滬教版七年級數學上冊專題06圖形的運動(原卷版+解析)
- JTG-T-F20-2015公路路面基層施工技術細則
- 光伏發(fā)電站集中監(jiān)控系統(tǒng)通信及數據標準
- 建筑垃圾減排及資源化處置措施
- 2024年遼寧石化職業(yè)技術學院單招職業(yè)適應性測試題庫附答案
- 中西方校服文化差異研究
- 2024年一級建造師考試思維導圖-市政
- 高壓架空輸電線路反事故措施培訓課件
- 隱私計算技術與數據安全保護
評論
0/150
提交評論