Create proc myproc
@mytbl varchar(20),
@col1 varchar(20),
@col2 varchar(20)
As
Declare @sqlstring varchar(500),@tmptbl
Set @tmptbl = '#mytmp'+@mytbl
Set @sqlstring = 'Select * into '+@tmptbl+' From ' + @mytbl +' insert into '+@tmptbl+' values('+@col1+','+@col2+')'
Exec(@sqlstring)
go
@mytbl varchar(20),
@col1 varchar(20),
@col2 varchar(20)
As
Declare @sqlstring varchar(500),@tmptbl
Set @tmptbl = '#mytmp'+@mytbl
Set @sqlstring = 'Select * into '+@tmptbl+' From ' + @mytbl +' insert into '+@tmptbl+' values('+@col1+','+@col2+')'
Exec(@sqlstring)
go
二楼的方法应该是可行的不过我还有个问题
execute sp_executesql @sqlstring建立临时表后马上删除临时表我知道,sp_executesql是个存储过程,存储过程中建立的局部临时表只能存在于这个存储过程中,存储过程结束,临时表删除。而execute的我就不明白了。