确定SQL Server中是否存在临时表的最佳方法是什么?
时间:2020-03-05 18:37:48 来源:igfitidea点击:
在编写计划重新运行的T-SQL脚本时,经常会使用临时表存储临时数据。由于临时表是动态创建的,因此,我希望能够仅在该表存在时才删除该表(在创建表之前)。
我将发布使用的方法,但我想看看是否有更好的方法。
解决方案
回答
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) )
回答
IF Object_Id('TempDB..#TempTable') IS NOT NULL BEGIN DROP TABLE #TempTable END
回答
SELECT name FROM sysobjects WHERE type = 'U' AND name = 'TempTable'