Tsql 如何将存储过程中的字段子集添加到表变量?

Tsql 如何将存储过程中的字段子集添加到表变量?,tsql,stored-procedures,table-variable,Tsql,Stored Procedures,Table Variable,我得到以下错误: “提供的值的列名或数目与表定义不匹配。” 有没有一种简单的方法可以从GetData中获取子集,而无需在表变量声明中显式声明所有字段 如果您不能控制GetData存储过程,我认为没有任何方法可以避免必须声明表变量中的所有字段 如果可以控制GetData,则可以向其添加一个参数,当该参数等于1时,将按您希望的方式返回结果,否则将执行当前的操作 为了完整起见,我会提到它,但是除了INSERT EXEC之外,还有很多其他选项。这是一个很好的选项说明。请参见此处的链接说明][1][1]:

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


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

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

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

为了完整起见,我会提到它,但是除了INSERT EXEC之外,还有很多其他选项。这是一个很好的选项说明。

请参见此处的链接说明][1][1]:
Declare @tempTableVariable Table(
    email varchar(50)
)

Insert INTO @tempTableVariable 
EXEC GetData

select email
from @tempTableVariable