临时表与一般的表不同,它是保存到tempDb表中。临时表的表名与你所建的表名也不一样,因为他要为不同人的相同操作创建不同的临时表。
错误的删除操作:
-- 错误的临时表删除操作,因为所在数据库不同 IF EXISTS (SELECT * FROM sysobjects WHERE object_id = OBJECT_ID(N'[dbo].[#tempTable]') AND type in (N'U')) Begin DROP TABLE [dbo].[tempTable] End --错误的临时表删除操作,因为临时表名已变 if exists (select * from tempdb.dbo.sysobjects where id = object_id(N'[#temptable]')) Begin drop table #temptable End
正确的删除方式:
--正确的临时表删除操作 if object_id('tempdb..#tempTable') is not null Begin drop table #tempTable End
评论 (0)