使用临时表的另外一种方式
假如由于某种原因,不能直接使用select id, name, classid into #tmp1 from ...... 这样的语句,而必须要先把该语句放在一个字符串中,然后再调用exec(..)来执行,如果这时刚好也要把查询结果放在一个临时表中,那么相应的sql语句就要象下面这样:
1![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
..
2
declare @s varchar(2000)
3
create table #tmp1(id int, name varchar(20),classid int)
4
set @s='insert into #tmp1 select id, name, classid from ![](https://www.cnblogs.com/Images/dot.gif)
.'
5
exec(@s)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/dot.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/dot.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
注意临时表一定要先定义;而且一定要使用insert into ....的形式,而不是上面的 select .... into 的形式