存儲過程的創(chuàng)建與使用.ppt

存儲過程的創(chuàng)建與使用.ppt

ID:52306757

大?。?09.01 KB

頁數(shù):75頁

時間:2020-04-04

存儲過程的創(chuàng)建與使用.ppt_第1頁
存儲過程的創(chuàng)建與使用.ppt_第2頁
存儲過程的創(chuàng)建與使用.ppt_第3頁
存儲過程的創(chuàng)建與使用.ppt_第4頁
存儲過程的創(chuàng)建與使用.ppt_第5頁
資源描述:

《存儲過程的創(chuàng)建與使用.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、《數(shù)據(jù)庫基礎與應用》第9章存儲過程的創(chuàng)建和使用自定義函數(shù)的創(chuàng)建與使用?CREATEFUNCTION函數(shù)名(參數(shù)表)RETURNS返回值的類型[AS]BEGIN函數(shù)體RETURN返回的表達式END調用:SET@result=dbo.fun_SumCount(@maxprice,@minprice)存儲過程與自定義函數(shù)的區(qū)別?存儲過程是使用EXEC命令獨立調用的,而用戶自定義函數(shù)是在另一個SQL語句中調用的。存儲過程是允許用戶和程序去使用存儲的程序,而不是允許其存取表,這樣能夠增強程序安全性。與標準的SQLServer相比,存儲程序限制用戶行動權限方面更為細化。例如,

2、如果你有一個貨存表,每次賣出一個貨物收銀員都要對表進行更新一次(從貨存中把該貨品減去一件)。你可以給收銀員設置權限,允許其使用decrement_item存儲過程,而不是允許他們有任意修改表的權限。函數(shù)必須始終返回一個值(一個標量值或一個表格)。而存儲過程可以返回一個標量值、一個表值或無需返回值??偠灾?,存儲程序對SQLServer開發(fā)員來說是最有價值的寶物之一,用于數(shù)據(jù)庫中,能夠大大的提高工作效率,增強安全性,絕對超值。本章主要內容存貯過程概述創(chuàng)建存儲過程執(zhí)行存儲過程查看和修改存儲過程常用的系統(tǒng)存儲過程本章核心知識點利用T-SQL創(chuàng)建存儲過程存貯過程的執(zhí)行存貯

3、過程的重新編譯本章重點難點在存貯過程中使用參數(shù)重新編譯存貯過程本章教學目標了解存儲過程的概念和優(yōu)點,能夠在實際應用中設計合適的存儲過程理解存儲過程的類型,掌握一定數(shù)量的系統(tǒng)存儲過程掌握如何創(chuàng)建和執(zhí)行存儲過程。掌握管理存儲過程的方法。第9章存儲過程的創(chuàng)建和使用顧名思義,存儲過程就是存儲在SQLSERVER服務器中的一組編譯成單個執(zhí)行計劃的T-SQL語句。9.1概述在創(chuàng)建SQLServer數(shù)據(jù)庫應用程序時,Transact-SQL語言是應用程序和SQLServer數(shù)據(jù)庫之間的主要編程接口??捎萌缦聝煞N方法存儲和執(zhí)行Transact-SQL語句。(1)SQL語句嵌入在開

4、發(fā)語言中,執(zhí)行時向SQLServer發(fā)送命令并處理結果的應用程序。)(2)可以將Transact-SQL程序保存在SQLServer中,即存儲過程,開發(fā)語言中直接調用該存儲過程。9.1.1理解存儲過程的概念存儲過程是SQL語句和可選控制流語句的預編譯集合,以一個名稱存儲并作為一個單元處理,其中可包含程序流、邏輯以及對數(shù)據(jù)庫的查詢,存儲過程可以包含一條SELECT語句,也可包含一系列使用控制流的SQL語句,如圖9-1所示。它們還可接受參數(shù)、返回輸出參數(shù)、返回狀態(tài)值,主要用來執(zhí)行管理任務或實現(xiàn)應用復雜的業(yè)務規(guī)則。。9.1.2理解存儲過程的優(yōu)點使用存儲過程與本地的Tra

5、nsact-SQL程序相比有如下好處:1.簡化用戶操作存儲過程將一系列復雜的T-SQL代碼封裝在一起,作為數(shù)據(jù)庫對象存放于數(shù)據(jù)庫服務器內,用戶使用時不必思考復雜的T-SQL語句而只需調用存儲過程即可得到所需結果,簡化了用戶操作。2.執(zhí)行效率更高存儲過程已被編譯,執(zhí)行時不再花費編譯與優(yōu)化時間。這不同于T-SQL語句,每次運行時都要從客戶端重復發(fā)送,并由SQLSERVER進行編譯和優(yōu)化。在需要大量T-SQL代碼或需重復執(zhí)行時,存儲過程比T-SQL批代碼的執(zhí)行要快。3.減少網(wǎng)絡流量特別對于復雜的商業(yè)業(yè)務計算,例如計算用戶的每月應交電費,如采用T-SQL實現(xiàn),則需要大量的

6、T-SQL語句和中間數(shù)據(jù)在客戶機與SQLSERVER服務器之間的網(wǎng)絡通道上傳送;采用存儲過程實現(xiàn),則只需由一條執(zhí)行存儲過程的單獨語句就可實現(xiàn),大大減少網(wǎng)絡流量。4.提高系統(tǒng)安全性可作為安全機制使用。通過適當?shù)臋嘞拊O置,可以使系統(tǒng)的安全性得到有效保障。5.允許模塊化程序設計存儲過程可以封裝企業(yè)的功能模塊,這種企業(yè)的功能模塊也為商業(yè)規(guī)則或者商業(yè)策賂,可以只創(chuàng)建一次并將其存儲在數(shù)據(jù)庫中,以后即可在程序中調用該過程任意次,而且可以統(tǒng)一修改。9.1.3掌握存儲過程的分類存儲過程分為兩大類:系統(tǒng)存儲過程和用戶自定義存儲過程。系統(tǒng)存儲過程:由系統(tǒng)定義的存儲過程,存放在maste

7、r數(shù)據(jù)庫中,類似C語言中的系統(tǒng)函數(shù)。系統(tǒng)存儲過程的名稱都以“sp_”開頭開頭,可以在任何數(shù)據(jù)庫中執(zhí)行系統(tǒng)存儲過程。用戶自定義存儲過程:由用戶在自己的數(shù)據(jù)庫中創(chuàng)建的存儲過程,類似C語言中的自定義函數(shù),只能在特定的數(shù)據(jù)庫中執(zhí)行。用戶自定義存儲過程可根據(jù)不同的標準予以分類:(1)臨時存儲過程。是以存儲過程名#、##開頭的存儲過程。存放在tempdb數(shù)據(jù)庫中,當用戶斷開連接時將自動刪除臨時存儲過程。(2)本地存儲過程。用戶創(chuàng)建并存放在用戶當前連接的SQLSERVER數(shù)據(jù)庫中的存儲過程,是我們通常意義上的存儲過程。(3)擴展存儲過程。是利用高級語言(如DELPHI和C++等

8、)編寫的存

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。