數據庫-存儲過程(概念、優缺點、分類)


(1)概念:

    ① 存儲過程(Stored Procedure)是一組為了完成特定功能的SQL語句集。經編譯后存儲在數據庫 中。

    ② 存儲過程是數據庫中的一個重要對象,用戶通過指定存儲過程的名字並給出參數(如果該存儲過 程帶有參數)來執行它。

    ③ 存儲過程是由流控制和SQL語句書寫的過程,這個過程經編譯和優化后存儲在數據庫服務器中。

    ④ 存儲過程可由應用程序通過一個調用來執行,而且允許用戶聲明變量。

    ⑤ 同時,存儲過程可以接收和輸出參數、返回執行存儲過程的狀態值,也可以嵌套調用。

(2)優點:

    ① 增強了SQL語句的功能和靈活性

    ② 不需要反復建立一系列處理步驟,保證了數據的完整性

    ③ 降低了網絡的通信量,客戶端調用存儲過程只需要傳存儲過程名和相關參數即可,與傳輸SQL語 句相比自然數據量少了很多

    ④ 增強了使用的安全性,通過存儲過程可以使沒有權限的用戶在控制之下間接地存取數據庫,從而 保證數據的安全。

    ⑤ 可以實現集中控制,當規則發生改變時,只需要修改存儲過程就可以啦。

(3)缺點:

    ① 調試不是很方便

    ② 可能沒有創建存儲過程的權利

    ③ 重新編譯問題

    ④ 移植性問題

(4)分類:

    ① 系統存儲過程:以sp_開頭,用來進行系統的各項設定.取得信息.相關管理工作。 

    ② 本地存儲過程:用戶創建的存儲過程是由用戶創建並完成某一特定功能的存儲過程,事實上一般所說的存儲過程就是指本地存儲過程。

    ③ 臨時存儲過程:分為兩種存儲過程: 

一是本地臨時存儲過程,以井字號(#)作為其名稱的第一個字符,則該存儲過程將成為一個存放在tempdb數據庫中的本地臨時存儲過程,且只有創建它的用戶才能執行它;

二是全局臨時存儲過程,以兩個井字號(##)號開始,則該存儲過程將成為一個存儲在tempdb數據庫中的全局臨時存儲過程,全局臨時存儲過程一旦創建,以后連接到服務器的任意用戶都可以執行它,而且不需要特定的權限。

    ④ 遠程存儲過程:在SQL Server2005中,遠程存儲過程(Remote Stored Procedures)是位於遠程服務器上的存儲過程,通常可以使用分布式查詢和EXECUTE命令執行一個遠程存儲過程。

    ⑤ 擴展存儲過程:擴展存儲過程(Extended Stored Procedures)是用戶可以使用外部程序語言編寫的存儲過程,而且擴展存儲過程的名稱通常以xp_開頭


免責聲明!

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



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