什麼是儲存過程

守望陽光01發表於2017-07-26

什麼是儲存過程,儲存過程的作用及好處

 

儲存過程(Stored Procedure)是一組為了完成特定功能的SQL 語句集,經編譯後儲存在資料庫。中使用者通過指定儲存過程的名字並給出引數(如果該儲存過程帶有引數)來執行它。

儲存過程是SQL 語句和可選控制流語句的預編譯集合,以一個名稱儲存並作為一個單元處理。儲存過程儲存在資料庫內,可由應用程式通過一個呼叫執行,而且允許使用者宣告變數、有條件執行以及其它強大的程式設計功能。儲存過程在建立時即在伺服器上進行編譯,所以執行起來比單個SQL語句快。

儲存過程的優點:

   1.儲存過程只在創造時進行編譯,以後每次執行儲存過程都不需再重新編譯,而一般SQL語句每執行一次就編譯一次,所以使用儲存過程可提高資料庫執行速度。

  2.當對資料庫進行復雜操作時(如對多個表進行Update,Insert,Query,Delete時),可將此複雜操作用儲存過程封裝起來與資料庫提供的事務處理結合一起使用。

  3.儲存過程可以重複使用,可減少資料庫開發人員的工作量

  4.安全性高,可設定只有某此使用者才具有對指定儲存過程的使用權

 

缺點:
1.如果更改範圍大到需要對輸入儲存過程的引數進行更改,或者要更改由其返回的資料,則您仍需要更新程式集中的程式碼以新增引數、更新 GetValue() 呼叫,等等,這時候估計比較繁瑣了。 
2.可移植性差 
由於儲存過程將應用程式繫結到 SQL Server,因此使用儲存過程封裝業務邏輯將限制應用程式的可移植性。

相關文章