2
我們剛剛創建了一個包含多個數據項目的解決方案。我們繼承了系統並希望做一個數據庫清理,但是當我們編譯了一些數據庫時,我們得到了表,id等不存在的錯誤,並且它發生了在存儲過程中創建臨時表的錯誤。編譯數據庫項目時如何處理臨時表
假設一個存儲過程創建一個臨時表,並在最後刪除它編譯器抱怨並說該表不存在(在數據庫模式中)。我們如何解決這個問題?任何設置我找不到?
在此先感謝。
我們剛剛創建了一個包含多個數據項目的解決方案。我們繼承了系統並希望做一個數據庫清理,但是當我們編譯了一些數據庫時,我們得到了表,id等不存在的錯誤,並且它發生了在存儲過程中創建臨時表的錯誤。編譯數據庫項目時如何處理臨時表
假設一個存儲過程創建一個臨時表,並在最後刪除它編譯器抱怨並說該表不存在(在數據庫模式中)。我們如何解決這個問題?任何設置我找不到?
在此先感謝。
在此問題上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
你不能和不BTW編譯在.NET意義上的數據庫項目。您針對執行各種檢查的數據庫服務器運行腳本。 – gbn 2011-06-02 07:32:36
也許我應該提到它是一個數據層應用程序項目http://msdn.microsoft.com/en-us/library/ee240739.aspx「當您構建DAC項目時,Visual Studio編譯DAC定義並將其放置在DAC封裝中。「 – John 2011-06-02 12:21:59
這是相當嚴重的,因爲aspnet_Membership存儲過程已經使用這種類型的表。你能否提供給我一個微軟連接問題的鏈接來跟蹤它的解決方案?我知道我可以通過在後期生成腳本中放置必要的存儲過程來解決此問題 – 2011-10-11 09:36:53