12.3.1 查看存儲過程
存儲過程被創建以後,它的名字存儲在系統表sysobjects 中;它的源代碼存放在系統表syscomments 中。可以通過MS SQL Server 提供的系統存儲過程來查看關於用戶創建的存儲過程信息。
1 通過Enterprise Manager 管理工具同樣可以查看存儲過程的源代碼
其操作如下:
(1) 啟動Enterprise Manager, 登錄到要使用的服務器。
(2) 選擇要創建存儲過程的數據庫,在左窗格中單擊Stored Procedure 文件夾,此時在右窗格中顯示該數據庫的所有存儲過程。
(3) 在右窗格中,右擊要查看源代碼的存儲過程,在彈出的菜單中選擇Properties選項,此時便可看到存儲過程的源代碼。如圖12-4 所示:
2 使用sp_helptext 存儲過程查看存儲過程的源代碼
其語法格式如下:
sp_helptext 存儲過程名稱
例如要查看數據庫pubs 是否是存儲過程reptq1 的源代碼,則執行sp_helptext reptq1。
注意:如果在創建存儲過程時使用了WITH ENCRYPTION選項,那麼無論是使用Enterprise Manager還是系統存儲過程sp_helptext都無法查看到存儲過程的源代碼。
12.3.2 重新命名存儲過程
修改存儲過程的名字使用系統存儲過程sp_rename。 其命令格式為:
sp_rename 原存儲過程名, 新存儲過程名
例12-4 :將存儲過程reptq1 修改為newproc 其語句為:
sp_rename reptq1, newproc
另外,通過Enterprise Manager 也可修改存儲過程的名字,其操作過程與WINDOWS 下修改文件名字的操作類似。即首先選中需修改名字的存儲過程,然後右擊鼠標,在彈出菜單中選取rename 選項,最後輸入新存儲過程的名字。
12.3.3 刪除存儲過程
刪除存儲過程使用drop 命令,drop 命令可將一個或多個存儲過程或者存儲過程組從
當前數據庫中刪除。其語法規則為:
DROP PROCEDURE {procedure}} [,…n]
例12-5: 如將存儲過程reptq1 從數據庫中刪除,則執行:
drop procedure reptq1
12.3.4 執行存儲過程
執行已創建的存儲過程使用EXECUTE 命令,其語法如下:
[EXECUTE]
{[@return_statur=]
{procedure_name[;number] | @procedure_name_var}
[[@parameter=] {value | @variable [OUTPUT] | [DEFAULT] [,…n]
[WITH RECOMPILE]
各參數的含義如下:
@return_status
是可選的整型變量,用來存儲存儲過程向調用者返回的值。
@procedure_name_var
是一變量名用來代表存儲過程的名字。
其它參數據和保留字的含義與CREATE PROCEDURE 中介紹的一樣。
例12-6: 該存儲過程被用來將兩個字符串連接成一個字符串,並將結果返回。創建存儲過程: