2014-01-03 4 views
0

Я не понимаю, почему следующий код возвращает ошибкуповедение Аномальное в таблицах Temp SQL Server

Msg 2714, уровень 16, состояние 1, строка 16
Существует уже объект с именем «#temptable 'в базе данных.

Если строки 1-5 выполняются отдельно, за ними следуют строки 6-8, он отлично работает. Я думаю, что мне не хватает чего-то фундаментального в том, как SQL Server обрабатывает запросы. Попросите одного из гуру пролить свет на эту проблему.

select top 10 col1, col2 
into #temptable 
from tbl 

if object_id('tempdb..#temptable') is not null 
    drop table #temptable 

select top 10 col1, col2 
into #temptable 
from tbl 

ответ

2

Код не выполняется, когда пакет скомпилирован не тогда, когда он выполняется.

поведение документировано в CREATE TABLE

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

Смежные вопросы