将存储过程的结果插入临时表
我该怎么办SELECT * INTO [temp table] FROM [stored procedure]?不FROM [Table],没有定义[temp table]?
Select所有数据都可以BusinessLine正常tmpBusLine工作。
select *
into tmpBusLine
from BusinessLine
我正在尝试相同的方法,但是使用stored procedure返回数据的a并不完全相同。
select *
into tmpBusLine
from
exec getBusinessLineHistory '16 Mar 2009'
输出信息:
消息156,级别15,状态1,第2行关键字“ exec”附近的语法错误。
我已经阅读了几个创建与输出存储过程具有相同结构的临时表的示例,该示例工作正常,但是最好不要提供任何列。
-
您可以为此使用OPENROWSET。看一看。我还包括了sp_configure代码,以启用临时分布式查询(如果尚未启用)。
CREATE PROC getBusinessLineHistory AS BEGIN SELECT * FROM sys.databases END GO sp_configure 'Show Advanced Options', 1 GO RECONFIGURE GO sp_configure 'Ad Hoc Distributed Queries', 1 GO RECONFIGURE GO SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2008;Trusted_Connection=yes;', 'EXEC getBusinessLineHistory') SELECT * FROM #MyTempTable