我经常得到错误:
Msg 208, Level 16, State 0, Line 1
Invalid object name '#foo'.
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table '#foo', because it does not exist in the system catalog.
我如何知道范围内有哪些临时表?它们显然不像基表那样出现在 SSMS 中。
我经常得到错误:
Msg 208, Level 16, State 0, Line 1
Invalid object name '#foo'.
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table '#foo', because it does not exist in the system catalog.
我如何知道范围内有哪些临时表?它们显然不像基表那样出现在 SSMS 中。
您可以在尝试对其执行查询之前检查该表是否存在。
IF object_id('tempdb..#foo') IS NOT NULL
扩大布兰登的答案......
在 SSMS 查询窗口 1 中:
CREATE TABLE #foo (bar int)
GO
CREATE TABLE ##bar (foo int)
GO
SELECT object_id('tempdb..#foo'), object_id('tempdb..##bar')
GO
在窗口 2 中:
SELECT object_id('tempdb..#foo'), object_id('tempdb..##bar')
##bar
正如预期的那样,在两个会话中都可见。#foo
仅在本地会话中。