有没有办法找出存储过程返回什么而不运行它?

时间:2011-01-05 15:01:38

标签: sql-server stored-procedures

我正在尝试在.NET中构建一个设计器,并且希望能够从存储过程中检索输出的列和列类型而不调用它,因此设计器可用于映射输出。这可能吗?如果有必要,我甚至愿意使用非托管API。

3 个答案:

答案 0 :(得分:3)

我相信您所寻找的是SET FMTONLYDocumentation)。

这允许您执行SP(或select语句)并查看在不实际执行查询的情况下将返回哪些列。

答案 1 :(得分:1)

通常,这是不可能的,因为即使单个存储过程也可以返回具有不同列或列数据类型的不同结果集。

答案 2 :(得分:0)

在极端情况下,即使返回的结果集的数量也可能取决于参数,并且当存储过程使用动态sql时,它绝对不可能。