确定SQL Server中是否存在临时表的最佳方法是什么?

Nat*_*ord 20 sql-server

在编写我计划重新运行的T-SQL脚本时,我经常使用临时表来存储临时数据.由于临时表是动态创建的,我希望只有在存在时(在创建它之前)才能删除该表.

我将发布我使用的方法,但我想看看是否有更好的方法.

Gat*_*ler 27

IF Object_Id('TempDB..#TempTable') IS NOT NULL
BEGIN
    DROP TABLE #TempTable
END
Run Code Online (Sandbox Code Playgroud)


Nat*_*ord 14

OBJECT_ID函数返回给定对象名称和类型的内部对象ID.'tempdb ..#t1'是指tempdb数据库中的表#t1.'U'用于用户定义的表.

IF OBJECT_ID('tempdb..#t1', 'U') IS NOT NULL
  DROP TABLE #t1

CREATE TABLE #t1
(
  id INT IDENTITY(1,1),
  msg VARCHAR(255)
)
Run Code Online (Sandbox Code Playgroud)