如何检索sql server存储过程的返回值的元数据

时间:2009-02-05 16:05:03

标签: .net sql-server code-generation metadata

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

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

2 个答案:

答案 0 :(得分:2)

您可以使用SET FMTONLY ON(并执行它) - 但这有点受欢迎。它不包括所有场景(分支等) - 并且仍然可以执行一些代码(扩展存储过程等)。

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

答案 1 :(得分:1)

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

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