Не удается создать временную таблицу с помощью динамического запроса - PullRequest
1 голос
/ 18 июня 2019

Я пытаюсь создать временную таблицу на сервере MS SQL.Это показывает, что таблица создана и значения вставлены.При использовании запроса Select выдается ошибка.

Мой пример кода

EXEC (
        'create table #temp2 (id int)
         insert #temp2 values(1)'
        )

SELECT *
FROM #temp2

Вывод

(затронуто 1 строка)Сообщение 208, Уровень 16, Состояние 0, Строка 8Неверное имя объекта '# temp2'.

1 Ответ

2 голосов
/ 18 июня 2019

Создайте временную таблицу в той же процедуре, чтобы она оставалась в области видимости, а затем используйте динамический SQL для ее изменения.

create table #temp2 (id int) 

DECLARE @SQL NVARCHAR(1000) ='ALTER TABLE #temp2 ADD test1 int NOT NULL, test2 int NOT NULL'

EXEC sp_executesql @SQL

insert #temp2 values(1,2,3)

SELECT * FROM #temp2

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