刪除臨時表

臨時表必須具有唯一 ID(在會話中,對於本地臨時表,或在伺服器內,對於全域性臨時表)。嘗試使用已存在的名稱建立表將返回以下錯誤:

There is already an object named '#tempTable' in the database.

如果你的查詢生成臨時表,並且你希望多次執行它,則需要在嘗試再次生成表之前刪除它們。這個的基本語法是:

drop table #tempTable

嘗試在表存在之前執行此語法(例如,在語法的第一次執行時)將導致另一個錯誤:

Cannot drop the table '#tempTable', because it does not exist or you do not have permission.

為避免這種情況,你可以在刪除之前檢查表是否已存在,如下所示:

IF OBJECT_ID ('tempdb..#tempTable', 'U') is not null DROP TABLE #tempTable