Я пытаюсь заполнить временную таблицу для запроса позже в хранимой процедуре. Поскольку я заполняю данные из нескольких таблиц, я пытаюсь сделать это в al oop, используя выражение EXE C:
Изначально я получил ошибку от моего динамика c sql что я должен объявить переменную таблицы. Я делаю это, но sql вне моей динамической системы c sql не видит данные в моей временной таблице. Вот как выглядит мой SQL:
--Original Query:
DECLARE @sql2 varchar(8000)
set @sql2 = 'INSERT INTO @temp_table SELECT TOP 10 my_id, my_text FROM my_dynamic_table'
exec(@sql2)
select * from @temp_table --Normal query
Необходимо объявить табличную переменную "@temp_table" в s et @ sql2 = 'INSERT ... line
DECLARE @sql2 varchar(8000)
DECLARE @temp_table TABLE(my_id bigint NULL, my_text text NULL)
set @sql2 = 'DECLARE @temp_table TABLE(my_id bigint NULL, my_text text NULL);INSERT INTO @temp_table SELECT TOP 10 my_id, my_text FROM my_dynamic_table;select * from @temp_table;'
exec(@sql2)
select * from @temp_table --Normal query
Я вижу данные при запуске exe c (@ sql2), но не вижу их в обычном запросе.