0

如何使用 SQL 语句导出存储过程的内容?

4

4 回答 4

7

如果您通过“内容”谈论代码,请查看 sp_helptext()

http://msdn.microsoft.com/en-us/library/ms176112.aspx

这是一个基于旧 PUBS 示例数据库的示例

USE pubs;
GO
EXEC sp_helptext 'pubs.dbo.byroyalty';
GO

这是结果

Text                                                                                      --------
CREATE PROCEDURE byroyalty @percentage int
AS
select au_id from titleauthor
where titleauthor.royaltyper = @percentage

但是,如果“内容”是指结果;您可以使用“结果到文件...”设置运行 proc,或“网格中的结果”并右键单击网格,然后执行“另存为...”

于 2009-04-23T20:09:21.193 回答
2

sp_helptext系统存储过程可能会有所帮助。

sp_helptext YourProcedureName

如果您正在寻找类似的东西,我还使用print在存储过程中查看我生成的 sql:

CREATE PROCEDURE YourProcedureName
AS
DECLARE @sql varchar(100)
SET @sql = 'SELECT * FROM MyTable'

print @sql
--EXEC @sql
GO
于 2009-04-23T20:10:50.363 回答
1

内容是指代码?

如果是这样,你可以打电话

EXEC sp_helptext proc_name

请注意,您也可以使用视图名称来调用它

于 2009-04-23T20:09:53.533 回答
0

您可以查询“sys.sql_modules”目录视图来查找存储过程和存储函数的 SQL 源代码:

SELECT definition
FROM sys.sql_modules
WHERE object_id = OBJECT_ID('your stored proc name here')

马克

于 2009-04-23T20:21:40.337 回答