日期:2014-05-17 浏览次数:20599 次
declare @s varchar(1000) select @s = isnull(@s+',', '') + [name] from tempdb.dbo.syscolumns where id = object_id(N'tempdb..#temptabmon1') and name not in ('name','id') set @s='select a.生日,a.地址'+@s+ ' into #temptab from #temptabmon1 a' exec(@s) select * from #temptab drop table #temptab drop table #temptabmon1
declare @s varchar(1000) select @s='if object_id('tempdb..#temptab') is not null drop table #temptab create table #temptab (xxxx)' select @s =@s+ isnull(@s+',', '') + [name] from tempdb.dbo.syscolumns where id = object_id(N'tempdb..#temptabmon1') and name not in ('name','id') set @s='select a.生日,a.地址'+@s+ ' into #temptab from #temptabmon1 a' exec(@s) ---与其这样 还不如直接用实体表
------解决方案--------------------
又是这个select into 的问题
在 EXEC 里面创建的临时表 在exec执行完的时候就是释放了