ASP.NET、C#、MVC、Angular、jQuery…Sharing what I Know !
Share your knowledge. It’s a way to achieve immortality. My Website: http://kyleshen.com Temporary Tables 在SQL Server裡,創建方式又分為Create及Declare,前者儲存於DB的TempDB中,後者儲存於記憶體裡,當Session關閉連線時,暫存Table將會Drop掉。
暫存表的使用方式可以參考以下文章:
MS SQL 建立暫存表格 temp table
建立#TempTable與Declare @TempTable有何差別
條件分支遇到的問題 今天撰寫Temp Table遇到了if…else if遇到了執行錯誤的問題,我試著用簡單的邏輯來記錄下來。
這是一個很簡單的if…else if判斷,但在不同的分支下加入暫存表的寫法就會發生2714的錯誤
在into之前drop掉也無法:
後來找到微軟有 官方的解答 (機器翻譯),照他給的Sample Code進行些修改,將定義Table的抽出外層,不同的是,他的Temp欄位只有一個,而我的欄位有非常多所以不可能一個一個宣告,所以我先Select top 0 將欄位INTO到Temp Table,接著再依不同條件Inserty資料,改寫完的Code如下:

-- 如果Temp Table存在,則清除
IF object_id(N'tempdb.dbo.#TempTable') IS NOT NULL drop table TempTable
select TOP 0 * INTO #TempTable from DemoTable
if (1=1) 
    begin
        INSERT INTO #TempTable 
        select * from DemoTable where ColumnName = 'Filter1'
else if (1=2)
    begin
        INSERT INTO #TempTable
        select *  from DemoTable where ColumnName = 'Filter2'
SELECT * FROM #TempTable
--Do something ....
Reference
http://stackoverflow.com/questions/4155996/sql-insert-into-temp-table-in-both-if-and-else-blocks
http://social.msdn.microsoft.com/forums/sqlserver/en-US/42a377a6-8d2f-4666-bf86-f0d005cde51c/tsql-same-temp-table-in-if-else-block-error
http://deanma.blogspot.tw/2012/01/ms-sql-temp-table.html
  • [CSS]使用CSS3 pointer-events解決z-index造成控制項失效之問題(含舊瀏覽...
  • [MS SQL]使用#Temp Table在if…else if 條件分支使用小筆記
  • [ASP.NET]C#列舉(Eunm)與switch應用小記錄
  • [ASP.NET]如何利用C#產生條碼圖片
  • [ASP.NET MVC]輸入Youtube連結,產生預覽影片
  • [Coding 543]KendoUI錯誤:Unexpected end of input 崩壞現象
  • [ASP.NET]合併兩張DataTable資料
  • [ASP.NET]一個輕鬆取得Facebook讚數的套件
  • [ASP.NET]C#清掉所有控制項的值
  • [CSS]表單Textbox與Lable調整對齊
  •