我想查看存储过程,视图或用户定义函数的定义。
在SQL Server Management Studio 2005中,我发现这样做的唯一方法是:
我不想编写脚本,我想看一下。
我今天在SSMS中的任务是快速浏览存储过程以找到我感兴趣的人。我已经在Windows XP模式下加载了企业管理器(MMC管理单元在64位中无法运行) ),我的工作很多更容易:
我正试图找到查看存储过程的方法 - 我对编写脚本不感兴趣。
答案 0 :(得分:5)
我做了一些快速谷歌搜索,找到了this。
从网站复制并粘贴:
-- 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
答案 1 :(得分:1)
根据信息的位置,您是否尝试过滤它们“找到我感兴趣的”?
答案 2 :(得分:1)
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('')
答案 3 :(得分:1)
exec sp_helptext N'<stored proc name>'
示例:
exec sp_helptext N'mydatabase.dbo.myStoredProc'
这将显示过程的所有行,而无需将GUI操纵到sp。
答案 4 :(得分:0)
使用syscomments存在潜在问题:大型过程分为几行,有时重要的标识符分为两部分。像:
第1行: ..... veryimportantide
第2行: ntifier .....
所以,如果您正在寻找 veryimportantidentifier - 您将永远找不到它。 (例如 - 寻找它的所有引用)
当我寻找某些东西并且它非常重要时 - 我生成所有对象的脚本并使用Notepad ++或Visual Studio
之类的东西导航到那里答案 5 :(得分:0)
我找到了一个在SQL Server Management Studio 2012中预览存储函数的解决方案。它是非程序员解决方案:)
我希望这会有所帮助。