--drop table #temp create table #temp (ch char(1)) --if object_Id(@tablename) is not null declare @tablename varchar(10) declare @execS nvarchar(max) set @tablename = '#temp' if object_id('tempdb..#temp') is not null begin print 'Try to delete' set @execS = 'drop table ' + @tablename exec sp_executesql @execS endThis works.
create table #temp (ch char(1)) --if object_Id(@tablename) is not null declare @tablename varchar(10) declare @execS nvarchar(max) set @tablename = 'tempdb..#temp' if object_id(@tablename) is not null begin print 'Try to delete' set @execS = 'drop table ' + @tablename exec sp_executesql @execS enddoesn't.