Вставить результаты хранимой процедуры в временную таблицу - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть хранимая процедура, которая возвращает этот результат:

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 не удалосьпотому что хранимая процедура изменила схему целевой таблицы.

1 Ответ

1 голос
/ 26 сентября 2019

Трудно сказать, не видя код хранимой процедуры, но я предполагаю, что процедура также создает временную таблицу с именем #tmp.Попробуйте создать временную таблицу с другим именем и запустить в ней INSERT EXEC, или опубликуйте код в процедуре, чтобы мы могли ее увидеть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...