0

我想虚拟地执行一个存储过程并获取返回的列。我使用fmtonly如下:

set fmtonly on
exec spName null
set fmtonly off

但是使用 fmtonly 导致运行所有代码行并且这项工作的结果是错误。有什么解决方案可以完成这项工作吗?

4

1 回答 1

3

您需要使用sp_describe_first_result_setSQL Server 2012 的新功能。请注意,这需要您提供输入参数(至少是类型)。

在 T-SQL 开发中,人们希望知道正在调用什么过程以及预期的结果集是什么。在 SQL Server 2012 之前,对动态、运行时、过程输出发现和所需参数的支持很少。这个新程序以及其他类似sp_describe_undeclared_parameters程序可用于创建需要探索可用编程 API 表面的工具。这些被添加到 2012 年的事实应该表明,在 2012 年之前无法正确处理等价物。环回链接服务器等解决方案存在许多问题,主要是因为它们实际上执行的代码具有潜在的灾难性影响。

于 2012-11-12T08:54:47.813 回答