自动化SQL Server文档-存储过程返回表定义

自动化SQL Server文档-存储过程返回表定义,sql,sql-server,tsql,stored-procedures,definitions,Sql,Sql Server,Tsql,Stored Procedures,Definitions,我目前正在考虑自动化我的SQL Server文档。特别是存储过程的文档 我可以从sys.parameters中获得输入参数列表,但我被输出卡住了 作为简化,存储过程的内容将返回多个表,例如: CREATE PROCEDURE usp_MyProc AS BEGIN SELECT Column1, Column2, Column3 FROM Tablename1 SELECT Column1, Column2

我目前正在考虑自动化我的SQL Server文档。特别是存储过程的文档

我可以从
sys.parameters
中获得输入参数列表,但我被输出卡住了

作为简化,存储过程的内容将返回多个表,例如:

CREATE PROCEDURE usp_MyProc
AS
BEGIN
    SELECT  
        Column1, Column2, Column3
    FROM    
        Tablename1

    SELECT  
        Column1, Column2, Column3
    FROM    
        Tablename2
END
我要找的是一个脚本,它可以为我提供输出表的定义。e、 g

表1

1 Column1 NVARCHAR(MAX)
2 Column2 DATETIME
3 Column3 BIT
表2

1 Column1 UNIQUEIDENTIFIER
2 Column2 VARCHAR(20)
3 Column3 INT
你知道我如何通过脚本访问这些数据吗?我当然可以手动进入,跟踪原始表,等等,但这是一个手动过程。我想通过一个脚本来生成定义文档


是的,我知道文档应该放在第一位

恐怕您只能在系统目录中找到该过程的隐式
INT
返回类型。至于从源代码中获取信息,除了最简单的情况外,您还需要对脚本进行完整的解析和语义分析-任何简单的工具/脚本都无法帮助
SELECT*
等,甚至可能很难正确识别
SELECT
from
INSERT。。。选择
。如果您是一个较大的项目,并且您也在寻找商业解决方案,那么我为之工作的公司。对于SQL Server 2012及更新版本,这将提供您正在寻找的答案-至少是第一个结果setHi Marc-伟大的答案为我提供了一个良好的方向。现在唯一的问题是如何从第二张表中读取它?我一直在谷歌搜索,还没有找到任何东西。这里的线索是“第一个结果集”。到目前为止,我给了你一个大+1的帮助。恐怕你只能在系统目录中找到这个过程的隐式
INT
返回类型。至于从源代码中获取信息,除了最简单的情况外,您还需要对脚本进行完整的解析和语义分析-任何简单的工具/脚本都无法帮助
SELECT*
等,甚至可能很难正确识别
SELECT
from
INSERT。。。选择
。如果您是一个较大的项目,并且您也在寻找商业解决方案,那么我为之工作的公司。对于SQL Server 2012及更新版本,这将提供您正在寻找的答案-至少是第一个结果setHi Marc-伟大的答案为我提供了一个良好的方向。现在唯一的问题是如何从第二张表中读取它?我一直在谷歌搜索,还没有找到任何东西。这里的线索是“第一个结果集”。到目前为止,我给了你一个大+1的帮助。