1.儲存過程只在創造時進行編譯即可,以後每次執行儲存過程都不需再重新編譯,而我們通常使用的sql語句每執行一次就編譯一次,所以使用儲存過程可提高資料庫執行速度。
2.經常會遇到複雜的業務邏輯和對資料庫的操作,這個時候就會用sp來封裝資料庫操作。當對資料庫進行複雜操作時(如對多個表進行update,insert,query,delete時),可將此複雜操作用儲存過程封裝起來與資料庫提供的事務處理結合一起使用。可以極大的提高資料庫的使用效率,減少程式的執行時間,這一點在較大資料量的資料庫的操作中是非常重要的。在**上看,sql語句和程式**語句的分離,可以提高程式**的可讀性。
3.儲存過程可以設定引數,可以根據傳入引數的不同重複使用同乙個儲存過程,從而高效的提高**的優化率和可讀性。
4.安全性高,可設定只有某此使用者才具有對指定儲存過程的使用權儲存過程的種類:
(2)擴充套件儲存過程 以xp_開頭,用來呼叫作業系統提供的功能
exec master..xp_cmdshell 'ping 10.8.16.1'
(3)使用者自定義的儲存過程,這是我們所指的儲存過程常用格式
模版:create procedure procedue_name [@parameter data_type][output]
[with] as sql_statement
解釋:output:表示此引數是可傳回的
with recompile:表示每次執行此儲存過程時都重新編譯一次;encryption:所建立的儲存過程的內容會被加密。
MSSQLSERVER 儲存過程
系統儲存過程 列出sql server例項中的資料庫 sp databases 返回sql server 資料庫閘道器或基礎資料來源的特性名和匹配值的列表 sp server info 返回當前環境中的儲存過程列表 sp stored procedures 返回當前環境下可查詢的物件的列表 任何可出...
MS SQL Server儲存過程
1 create alter和drop create procedure usp categorylist asselect categoryid,categoryname from category 在建立儲存過程時,應該使用一致的規範來命名儲存過程,而不要使用sp 使用sp 只會導致名稱衝突和混...
MS SQLSERVER通用儲存過程分頁
最近在面試的時候,遇到個奇葩的禿頂老頭面試官。問 寫過儲存過程分頁嗎?答 沒寫過,但是我知道分頁儲存的原理,我自己也寫過,只是在工作中沒寫過。問 那你這麼多年工作中就沒寫過嗎?答 的確沒寫過,因為專案資料量都特別小。然後,這奇葩就起身就要走人了,連個招呼都沒有。想我面試了這麼多公司,這種奇葩面試官,...