如何导出存储过程的内容?

时间:2009-04-23 20:06:34

标签: sql-server-2005 stored-procedures export

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

4 个答案:

答案 0 :(得分: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,或者“结果在网格中”并右键单击网格,然后执行“另存为...”

答案 1 :(得分: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

答案 2 :(得分:1)

根据内容,您的意思是代码吗?

如果是这样,你可以致电

EXEC sp_helptext proc_name

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

来调用它

答案 3 :(得分:0)

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

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

马克