我有一个查询语句,其中我从一个表中插入一些值:
SELECT ID, NAME INTO #tmpTable1
FROM TableOriginal
第一次执行很好,但如果我在 MSSMS(Microsoft Sql Server Management Studio) 中按 F5(运行)键,就会出现以下错误:
Msg 2714, Level 16, State 6, Line 4
已经存在数据库中的一个名为“#tmpTable1”的对象。
很好。我决定在将数据从 TableOriginal
插入到 #tmpTable1
之前进行检查,方法如下:
IF OBJECT_ID('tempdb.#tmpTable1') IS NOT NULL
DROP TABLE #tmpTable1
无效,错误仍然如上所述。
我在tempdb
数据库中看到了以下临时表名称:
dbo.#tmpTable1__________________0000007
为什么?每次创建临时表(使用第一个查询)时,在 MSSMS 中表名都会自动生成?
如何删除现有的临时表以便使用新值创建新表?
db.schema.object
- 如果你省略了 schema,仍然需要点号! :-) - marc_s