[英]SSMS: How to view a stored procedure/view/function without scripting?
我想查看存儲過程,視圖或用戶定義函數的定義。
在SQL Server Management Studio 2005中,我發現這樣做的唯一方法是:
我不想編寫腳本,我想看看它。
我今天在SSMS中的任務是快速瀏覽存儲過程,找到我感興趣的存儲過程。我已經在Windows XP模式下加載了Enterprise Manager(MMC管理單元無法在64位上正常運行),並且我的工作容易得多 :
我試圖找到一種查看存儲過程的方法-我對編寫腳本不感興趣。
我做了一些谷歌快速搜索,發現了這一點 。
從網站復制和粘貼:
-- Get Stored Procedure Content
-- Name = Stored Procedure Name.
-- Colid = Multiple lines, their sequence.
SELECT text
FROM syscomments
WHERE id = (SELECT id FROM sysobjects WHERE name = '{0}')
ORDER BY colid
根據信息的位置,您是否嘗試過對它們進行過濾以“找到我感興趣的”?
SELECT text
FROM syscomments c
INNER JOIN sysobjects o
ON o.id = c.id
WHERE o.type = 'P'
and o.Name = '{0}'
FOR XML PATH('')
exec sp_helptext N'<stored proc name>'
例:
exec sp_helptext N'mydatabase.dbo.myStoredProc'
這將顯示該過程的所有行,而無需將GUI操縱到sp。
我在SQL Server Management Studio 2012中找到了預覽存儲功能的解決方案。這是非程序員解決方案:)
我希望這會有所幫助。
使用syscomments有一個潛在的問題:將大過程分成幾行,有時將重要的標識符分為兩部分。 喜歡:
第1行: ...非常重要
第2行: ntifier .....
因此,如果您正在尋找非常重要的標識符 -您將永遠找不到。 (例如-尋找它的所有引用)
當我尋找某些東西時,這非常重要-我生成所有對象的腳本並使用諸如Notepad ++或Visual Studio之類的東西導航到那里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.