如何查看SQL Server Management Studio中的存储过程代码
我是SQL Server的新手。 我通过SQL Server Management Studiologin到我的数据库。
我有一个存储过程的列表。 如何查看存储过程代码?
右键单击存储过程没有像view contents of stored procedure
任何选项。
谢谢。
右键单击存储过程并select脚本存储过程作为创build新build查询编辑器窗口/剪贴板/文件
您也可以在右键单击名称时进行修改
如果你想要多于一个proc,点击存储过程文件夹,点击F7,用CTRL,然后点击select所有你想要的,然后右键单击并select脚本存储过程为 CREATE
我想这是一个更好的方式来查看存储过程的代码:
sp_helptext <name of your sp>
该选项被称为Modify
:
这将在一个新的查询窗口中向您显示您的存储过程的T-SQL代码,带有ALTER PROCEDURE ...
导入,因此您可以轻松地更改或修改您的过程并更新它
这是查看存储过程定义的另一种方法
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Your_SP'))
使用下面的查询: –
SELECT object_definition(object_id) as [Proc Definition] FROM sys.objects WHERE type='P'
如果你没有像我这样的修改权限,你可以安装一个名为“SQL Search”的免费工具(由redgate)。 我用它来search关键字,我知道这些关键字将在SP中,并且它会返回一个SP代码的预览,其中的关键字是高亮的。
巧妙! 然后我将这些代码复制到我自己的SP中或者在其中查看
sp_helptext'your_sp_name'
在pipe理工作室默认结果进来网格视图。 如果您想在文本视图中查看,请转到:
查询 – >结果到 – >结果到文本
或CTRL + T然后执行。
其他答案build议使用对象资源pipe理器并将存储过程编写脚本到新的查询编辑器窗口,其他查询是可靠的选项。
我个人喜欢使用下面的查询检索单行中的存储过程定义/代码(我正在使用Microsoft SQL Server 2014年,但看起来像这应该与SQL Server 2008和以上)
SELECT definition FROM sys.sql_modules WHERE object_id = OBJECT_ID('yourSchemaName.yourStoredProcedureName')
有关sys.sql_modules的更多信息: