SQL存儲過程學習筆記(一)


一、存儲過程的概念
簡單來說,存儲過程,就是一個為了完成特定功能的SQL語句集合,它經過編譯后存儲在數據庫中。用戶通過指定存儲過程的名稱並傳遞相應參數來執行它。
SQL SERVER中分為系統提供的存儲過程和用戶自定義的存儲過程兩類。系統提供的存儲過程,可以在任何數據庫中調用而不必加數據庫名,可以在master數據中查看;用戶自定義的存儲過程,是由用戶根據需求進行創建、編寫來完成特定功能的存儲過程,也是我們主要學習的戰場。
二、存儲過程的優點
存儲過程的實現,主要是用T-SQL編程語言完成。利用T-SQL編程,有兩種方法可用。一是在用戶本地編寫T-SQL應用程序,向數據庫服務器發送命令,獲得處理結果;二是將編寫的T-SQL程序作為存儲過程,經編譯后存儲到數據庫中,在應用程序中調用數據庫中的存儲過程,獲得返回的結果集。
通常采用第二種方法,也就是用T-SQL編寫存儲過程,在服務器端實現對數據庫的操作或對數據的處理。
1、允許標准組件式編程
存儲過程可以在應用程序中被多次調用,而不必重復編寫存儲過程的SQL語句,增加了代碼的可復用性。數據庫開發人員可隨時更改存儲過程的SQL語言,而不必更改應用程序的代碼,增加了代碼的可維護性。
2、能夠較快的執行
存儲過程是經過編譯、優化后存儲在數據庫中的,再次調用時,不需要進行編譯、優化,相比T-SQL語句每次都要執行編譯、優化而言,提高了應用程序的執行速度。
3、減少網絡流量
調用存儲過程,只是向服務器端傳遞一條命令,相比多條SQL語句,能夠減少網絡負載。
4、可以作為安全機制得到充分利用
對存儲過程,可以賦予執行權限,來區分不同用戶對數據庫的操作權限。
注意:雖然存儲過程與函數一樣存在參數和返回值,但是存儲過程與函數是不同的,存儲過程的返回值只能表明執行是否成功,並且不能像函數那樣直接用名稱來調用,在調用存儲過程時,必須用exec保留字。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM