如何使用SQL语句导出存储过程的内容?
答案 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')
马克