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

问题描述 投票:0回答:1

我有一个提供此结果的存储过程:

enter image description here

我调用存储过程的方式是:

Exec uspGetStandardUsingRoleandPhase '1908003'

我想将结果放入临时表,所以我使用了insert into这样的方法:

IF OBJECT_ID(N'tempdb.dbo.#tmp', N'U') IS NOT NULL
DROP TABLE #tmp

CREATE TABLE #tmp
(

   startDate date
    ,endDate date
    ,strPhase NVARCHAR(50)
    ,strBadgeNumber NVARCHAR(30)
)

INSERT INTO #tmp(startDate,endDate,strPhase,strBadgeNumber)
Exec uspGetStandardUsingRoleandPhase '1908003'

但是我收到这样的错误:

INSERT EXEC失败,因为存储过程更改了目标表的架构。

sql sql-server stored-procedures temp-tables
1个回答
0
投票
很难说,看不到存储过程的代码,但是我猜测该过程还会创建一个名为#tmp的临时表。尝试创建一个具有不同名称的临时表,然后在其中运行INSERT EXEC,或者将代码发布到该过程中,以便我们看到它。
© www.soinside.com 2019 - 2024. All rights reserved.