1
Declare @tempTableVariable Table(
    email varchar(50)
)

Insert INTO @tempTableVariable 
EXEC GetData

select email
from @tempTableVariable

我收到以下错误:“列名或提供的值的数量与表定义不匹配。”

是否有一种简单的方法可以从 GetData 获取子集,而无需显式声明表变量声明中的所有字段?

4

1 回答 1

0

如果您无法控制GetData存储过程,我认为没有任何方法可以避免必须声明表变量中的所有字段。

如果您可以控制GetData,您可以向其添加一个参数,当等于 1 时将按照您想要的方式返回结果,否则将执行当前的操作。

为了完整起见,我会提到它,但除了 INSERT EXEC 之外还有很多其他选项。 http://www.sommarskog.se/share_data.html很好地解释了这些选项。

于 2012-10-26T19:41:40.970 回答