1

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

这些过程包含简​​单的选择语句,如 SELECT a,b FROM c,我想获取关于 a 和 b 的元数据。

4

2 回答 2

2

您可以使用SET FMTONLY ON(并执行它) - 但这有点命中注定。它不涵盖所有场景(分支等) - 并且仍然可以执行一些代码(扩展存储过程等)。

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

于 2009-02-05T16:09:51.790 回答
1

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

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

于 2011-04-02T23:42:23.733 回答