如何将存储过程中的字段子集添加到表变量?
Posted
技术标签:
【中文标题】如何将存储过程中的字段子集添加到表变量?【英文标题】:How to add subset of fields from stored procedure to table variable? 【发布时间】:2012-10-26 19:33:14 【问题描述】:Declare @tempTableVariable Table(
email varchar(50)
)
Insert INTO @tempTableVariable
EXEC GetData
select email
from @tempTableVariable
我收到以下错误: “列名或提供的值的数量与表定义不匹配。”
是否有一种简单的方法可以从 GetData 获取子集,而无需在表变量声明中显式声明所有字段?
【问题讨论】:
在此处查看***.com/questions/653714/… 链接描述][1] [1]:***.com/questions/653714/… 【参考方案1】:如果您无法控制GetData
存储过程,我认为您没有任何方法可以避免必须声明表变量中的所有字段。
如果您可以控制GetData
,您可以向其添加一个参数,当等于 1 时将按照您想要的方式返回结果,否则将执行当前的操作。
为了完整起见,我会提到它,但除了 INSERT EXEC 之外还有很多其他选项。 http://www.sommarskog.se/share_data.html 很好地解释了这些选项。
【讨论】:
以上是关于如何将存储过程中的字段子集添加到表变量?的主要内容,如果未能解决你的问题,请参考以下文章