判斷MS SQLSERVER臨時表是否存在

2022-03-28 16:37:38 字數 460 閱讀 1595

drop table  #tempcitys

select * into #tempcitys from hy_citys

上面的語句第一次執行的時候就肯定出錯了,但第二次就不會。

因為select * into #tempcitys from hy_citys自動建立了臨時表#tempcitys ,第一次臨時表不存在,drop table自然就出錯了。

剛開始沒反應過來,select * into是會自動建立臨時表的。

所以比較可靠的做法,還是先判斷臨時表是否存在,然後再drop table

if exists (select * from tempdb.dbo.sysobjects where id = object_id(n'tempdb..#tempcitys') and type='u')

drop table #tempcitys

注意tempdb後面是兩個. 不是乙個的

MS SQL SERVER中的臨時表

對於複雜的查詢,我們可以使用巢狀的複雜的sql語句來實現,但是有些時候,借助於臨時表,可以更加方便 高效。sql server 支援臨時表。臨時表就是那些名稱以井號 開頭的表。如果當使用者斷開連線時沒有除去臨時表,sql server 將自動除去臨時表。臨時表不儲存在當前資料庫內,而是儲存在系統資料...

MS SQL SERVER中的臨時表

對於複雜的查詢,我們可以使用巢狀的複雜的sql語句來實現,但是有些時候,借助於臨時表,可以更加方便 高效。sql server 支援臨時表。臨時表就是那些名稱以井號 開頭的表。如果當使用者斷開連線時沒有除去臨時表,sql server 將自動除去臨時表。臨時表不儲存在當前資料庫內,而是儲存在系統資料...

MS SQL SERVER中的臨時表

對於複雜的查詢,我們可以使用巢狀的複雜的sql語句來實現,但是有些時候,借助於臨時表,可以更加方便 高效。sql server 支援臨時表。臨時表就是那些名稱以井號 開頭的表。如果當使用者斷開連線時沒有除去臨時表,sql server 將自動除去臨時表。臨時表不儲存在當前資料庫內,而是儲存在系統資料...