資料庫|存儲過程的管理

  • 2020 年 3 月 12 日
  • 筆記

問題描述

存儲過程是由一系列Transact-SQL語句組成的程式,它們經過編譯後保存在資料庫中。因此存儲過程比普通Transact-SQL語句執行更快,且可以多次調用。在SQL Server中包含的存儲過程類型主要包括:系統存儲過程和用戶定義存儲過程。

解決方案

格式各樣的存儲過程非常的多,並且具有類似功能的存儲過程也不只有一兩個。如果每次要用的時候,又去創建新的存儲過程,是對資源的一種浪費。因此,學會管理存儲過程就顯得尤為的重要。同樣,存儲過程與表、視圖以及關係圖這些資料庫對象一樣,在創建之後可以根據需求對它進行修改和刪除操作。

對於現成的存儲過程,我們有幾種方法可以對該過程的資訊進行查看。(我們以命名為A的存儲過程為例)

Sp_helptext A // 查看文本資訊Exec sp_help A // 查看基本資訊Exec sp_depends A // 查看詳細資訊

以上是通過語句來查看存儲過程,當然對於SQL Server來說,可以直接通過對象資源管理器來查看。具體方法如圖:

圖1-1 查看存儲過程

這樣就可以查看到相應資料庫的存儲過程。接下來就看看怎麼修改存儲過程吧。在SQL Server 2008中通常使用ALTER PROCEDURE語句修改存儲過程。

ALTER PROCEDURE procedure_name [;number ][{@parameter data type)[VARYING][=default] [OUTPUPT]][,…n][WITH{RECOMPILE | ENCRYPTION | RECOMPILE,ENCRYPTION}][FOR REPLICATION]ASsql_ statement[…n]

當然,在SQL Server 2008中我們還是可以直接在對象資源管理器中修改。

圖1-2 修改語句

刪除存儲過程就非常的簡單,但是在刪除之前應該先執行sp_depends存儲過程來確定是否有對象依賴於此存儲過程。刪除語句如下:

Drop procedure {procedure}[…n]

當然在SQL Server 2008中,直接滑鼠點擊刪除就可以了。

管理好資料庫存儲過程,往往會有事半功倍的效果!