Как вставить во временную таблицу, которая полностью готова внутри хранимой процедуры
ALTER PROCEDURE [dbo].[Report_1]
BEGIN
CREATE TABLE #Temp
(
col1 INT,
col2 INT,
col3 VARCHAR(50)
)
INSERT INTO #Temp
EXEC [spSelection] @ID
..do stuff
..do stuff
..do stuff
SELECT * FROM #temp
END
У меня проблема в том, что я буду использовать эту хранимую процедуру (spSelection
) в будущеми если я изменю эту хранимую процедуру, чтобы получить больше столбцов для другой хранимой процедуры, то Report_1
завершится неудачей.
Поэтому мне нужен способ динамически создавать таблицу или иметь возможность выбирать только отдельные столбцы извывод exec [spSelection] @ID
или Report_1
может считывать данные из временной таблицы, созданной в spSelection
.
Я попытался использовать глобальную переменную, которая не будет работать, поскольку она может использоваться другими сохраненнымиПроцедура в то же время, если я создаю динамический SQL.
@sql ='
create table #Temp(
col1 int,col2 int,col3 varchar(50)
) ' exec sp_executesql @sql
Я не могу получить доступ к таблице #temp
за пределами кавычек