代码之家  ›  专栏  ›  技术社区  ›  Johan Danforth

如何检索SQL Server存储过程返回值的元数据

  •  1
  • Johan Danforth  · 技术社区  · 15 年前

    我想从.NET代码分析一个SQL Server存储过程,以检索它返回的数据/列的元数据(而不是输出参数)。就像在DataSet I VisualStudio上拖放SP时,它会自动生成列。它可能对我正在测试的代码生成有用。

    该过程包含简单的select语句,比如select a、b from c,我想获取关于a和b的元数据。

    2 回复  |  直到 5 年前
        1
  •  2
  •   AeroX arpit desai    5 年前

    你可以使用 SET FMTONLY ON (并执行)-但这有点失手。它不覆盖所有场景(分支等),仍然可以执行一些代码(扩展存储过程等)。

    或者-使用表值函数(UDF)-它们有更丰富/更正式的元数据。

        2
  •  1
  •   Martin Smith    13 年前

    在SQL Server 2012/denali中,可以使用 sys.dm_exec_describe_first_result_set_for_object .

    这将返回有关过程中第一个结果集的信息(只要此结果集由所有代码路径返回)