日期:2014-05-17 浏览次数:20671 次
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执行完的时候就是释放了