Как работать с временными таблицами при компиляции проекта базы данных

Мы только что создали решение с несколькими проектами данных. Мы унаследовали систему и хотим выполнить очистку базы данных, но когда мы компилируем некоторые из баз данных, мы получаем ошибку, что таблица, идентификатор и т. д. не существуют, и это происходит там, где временные таблицы создаются в хранимых процедурах.

Допустим, хранимая процедура создает временную таблицу и в конце удаляет ее, компилятор жалуется и говорит, что таблица не существует (в схеме базы данных). Как мы можем обойти это? Какие-то настройки я не могу найти?

Заранее спасибо.


person John    schedule 02.06.2011    source источник
comment
Вы не можете и не компилируете проект базы данных в смысле .net BTW. Вы запускаете сценарии на сервере базы данных, который выполняет различные проверки.   -  person gbn    schedule 02.06.2011
comment
возможно, мне следовало упомянуть, что это проект приложения уровня данных msdn.microsoft.com /en-us/library/ee240739.aspx При построении проекта DAC Visual Studio компилирует определение DAC и помещает его в пакет DAC.   -  person John    schedule 02.06.2011
comment
Это очень серьезно, потому что хранимые процедуры aspnet_Membership уже используют такие таблицы. Не могли бы вы предоставить мне ссылку на проблему подключения к Microsoft, чтобы отслеживать ее решение? Я знаю, что могу найти обходной путь, поместив необходимые хранимые процедуры в сценарий постгенерации.   -  person tec-goblin    schedule 11.10.2011
comment
проблема с подключением к Microsoft исправлена, но я только что сам наблюдал эту проблему в VS2010.   -  person CrazyPyro    schedule 31.01.2013


Ответы (1)


В Microsoft Connect зарегистрирована ошибка, связанная с этой проблемой, и предлагается обходной путь: используйте табличные переменные вместо временных таблиц. Итак, используйте

declare @t table (ID int, Name nvarchar(100) )
insert into @t ...

вместо

create table #t (ID int, Name nvarchar(100) )
insert into #t ...
drop table #t
person Bronx    schedule 21.07.2011