當你需要尋找和使用那些很少被使用的存儲過程時,你會發現自己無法記住數據庫中所有的存儲過程。當你尋找一個三到六個月才使用一次的存儲過程時,尤其如此。
你可以用sp_stored_procedures來列出你的數據庫中的所有存儲過程,然後運行sp_helptext來查看過程的源代碼並找到所需要的參數。
sp_stored_procedures返回所請求環境中的所有存儲過程的清單。在下面的例子中,我們將會看到pubs數據庫中有哪些存儲過程。
USE pubs
Exec sp_stored_procedures
GO
結果的前三列如下所示:
PROCEDURE_QUALIFIER PROCEDURE_OWNER PROCEDURE_NAME
pubs dbo authorpub;1
pubs dbo byroyalty;1
(返回值的其它列大部分都設置為“為日後使用而保留”,因此你不必關心它們。)
得到返回的清單之後,假設authorpub(忽略返回結果中的分號和數字1)就是你想使用存儲過程,那麼你可能希望得到關於該存儲過程的更多信息,這樣,我們就可以運行sp_helptext來看看它的代碼:
USE pubs
exec sp_helptext 'authorpub'
GO
讓我們看看返回的結果——也就是該存儲過程的全部腳本:
CREATE procedure dbo.authorpub
--declare procedure variables
@ALName varchar(40) --input parameter
AS
--Assign columns to output and check for author name
SELECT a.au_lname, author = a.au_id, [Publisher] = p.pub_name
FROM Publishers p CROSS JOIN authors a
WHERE a.au_lname LIKE @ALName