удалить временную таблицу, но она уже найдена «В базе данных уже есть объект с именем« #temp » - PullRequest
0 голосов
/ 30 апреля 2019

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

create table #temp (id int)
create table #swap (id int)

drop table #temp

select * into #temp from #swap

drop table #swap
drop table #temp

я получаю эту ошибку

Сообщение 2714, Уровень 16, Состояние 1, Строка 6 В базе данных уже есть объект с именем #temp.

1 Ответ

1 голос
/ 01 мая 2019

Просто немного измените свой логический поток.Если все, что имеет значение, это то, что #temp пусто, когда INSERT происходит, это должно делать то, что вам нужно.

create table #temp (id int)
create table #swap (id int)

<Add loop logic here>

truncate table #temp

insert #temp(id)
select id from #swap

<Close out loop logic>

drop table #swap
drop table #temp

Я также сделал имена столбцов явными.SELECT * - это авария, ожидающая в производственном коде.

...