Выполнить хранимую процедуру в динамическую временную таблицу
Насколько мне известно; то, что я хочу сделать, не возможно в SQL, но это стоит спросить вас, ребята.
Допустим, у меня есть хранимая процедура abc, которая возвращает столбцы Id и Value. Эта хранимая процедура в основном используется другими отделами по функциональным причинам, и я буду использовать ее только время от времени для проверки данных.
Таким образом, используя его как часть моей хранимой процедуры:
DECLARE @tABC TABLE
(
ID INT,
Value DECIMAL(12,2)
)
INSERT INTO @tABC
EXEC OtherDb.DataProd.abc
Хорошо, так что пока это будет работать отлично, но что, если они изменят структуру своей хранимой процедуры?
Добавление или удаление столбца из их хранимой процедуры нарушит мой код, поэтому есть способ сделать мой код более гибким.
Моя последняя отчаянная попытка прошла примерно так:
WITH tempTable AS
(
EXEC OtherDb.DataProd.abc
)
SELECT ID, Value FROM tempTable
Который, очевидно, с треском провалился.