SQL Server:将存储过程结果集放入表变量中,而不指定其模式

nae*_*n84 12 t-sql sql-server sql-server-2008

我有一个包含许多参数的存储过程.

我想插入(或者可能选择)这样:

INSERT INTO @TEMP_TABLE
    EXECUTE STORED_PROCEDURE
Run Code Online (Sandbox Code Playgroud)

没有定义的架构@TEMP_TABLE.

小智 23

例如:

declare @temptable2 as table
(
 DatabaseName nvarchar(128),
 dbsize nvarchar(128),
 owner varchar(128),
 dbid nvarchar(128),
 created nvarchar(128),
 status nvarchar(128),
 compatibility_level nvarchar(128)
)

INSERT INTO @temptable2
EXEC ('sp_helpdb')
Run Code Online (Sandbox Code Playgroud)

  • @AwahTeh - 如果您认为这是问题的正确答案,那么您没有正确阅读问题。它非常明确地询问“不定义模式” - 当然可以在定义模式时插入到表变量中 (3认同)

Mar*_*ith 5

你不能这样做@tablevariable.

在周围的工作发表乔链接使用SELECT ... INTO.

表变量当前不支持这种情况(并且不会来自对此连接项的响应),因为需要在编译时知道表变量的模式.