SQL

将存储过程的结果插入临时表

发布于 2021-04-20 22:56:20

我该怎么办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”附近的语法错误。

我已经阅读了几个创建与输出存储过程具有相同结构的临时表的示例,该示例工作正常,但是最好不要提供任何列。

关注者
0
被浏览
72
1 个回答
  • 面试哥
    面试哥 2021-04-20
    为面试而生,有面试问题,就找面试哥。

    您可以为此使用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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看