在#tables中使用Object_id()函数

Ala*_*laa 18 sql sql-server

我想确保我的数据库中是否存在临时表.

我试图使用OBJECT_ID()函数,但似乎我不能将它与临时表一起使用.

我该如何解决这个问题?

Mar*_*ith 25

使用

OBJECT_ID('tempdb..#foo')
Run Code Online (Sandbox Code Playgroud)

在另一个数据库的上下文中运行时获取临时表的id.

  • 摆脱`myDb`位.那不是我的回答!使用`OBJECT_ID('tempdb .. ## myTempTable')`或`OBJECT_ID('tempdb.dbo.## myTempTable')` (5认同)

Tur*_*bot 6

当调用OBJECT_ID时,对于临时表/哈希表TEMPDB,必须指定它,除非它已经在工作数据库.

我签入SQL2008并在下面验证.

USE SampleDB
create table #tt1 (dummy int)
select OBJECT_ID('SampleDB..#tt1')  -- returns NULL
select OBJECT_ID('tempdb..#tt1')   -- returns ID
Run Code Online (Sandbox Code Playgroud)