SQL代码打开存储过程并在SQL Server中读取它

问题描述:

我使用的接口只允许使用SQL命令。数据库是SQL Server。现在我需要打开一个存储过程并阅读里面的内容。什么是SQL命令来打开存储过程进行阅读?谢谢。SQL代码打开存储过程并在SQL Server中读取它

+0

的SQL Server的哪个版本? – JNK 2011-05-25 19:34:02

SELECT definition 
    FROM sys.sql_modules 
    WHERE object_id = OBJECT_ID('YourSchemaName.YourProcedureName') 
+3

总是很高兴看到使用sys.sql_modules而不是syscomments和INFORMATION_SCHEMA垃圾 – gbn 2011-05-25 20:03:51

+0

我很想知道为什么这比sp_helptext更好.. – Fosco 2011-05-26 20:20:39

+0

@Fosco:This returns a single 'nvarchar(max)'结果。 [sp_helptext](http://msdn.microsoft.com/zh-cn/library/ms176112.aspx)“显示用于在多行中创建对象的定义。每行包含255个Transact-SQL定义的字符“。 – 2011-05-26 20:25:14

sp_helptext 'dbo.myStoredProc' 

SELECT TEXT 
FROM syscomments 
WHERE id = (SELECT id FROM sysobjects WHERE name = '<NAME>') 
ORDER BY colid 
+2

这截断在第4000个字符... – gbn 2011-05-25 19:59:17

SELECT OBJECT_DEFINITION(OBJECT_ID('dbo.myStoredProc')) 

注:受Metadata VisibilityVIEW DEFINITION权利