创建临时表为什么不存在?
我现在是用游标动态生成临时表,遇到一个问题. 
 举例说明:     
 declare   @strsql   varchar(4000) 
 set   @strsql= 'create   table   #Lanvasi(      a   varchar(100)   ) '   
 exec   (@strsql)   
 select   *   from   #Lanvasi   
 ------------------- 
 --出现错误提示 
 服务器:   消息   208,级别   16,状态   1,行   6 
 对象名    '#Lanvasi '   无效。   
 这是怎么回事呢? 
 是不是临时表只存在exec运行的那个连接.运行完连接关闭,临时表就自动删除了吗 
 怎么样才能得到临时表
------解决方案--------------------declare @strsql varchar(4000) 
 set @strsql= 'create table #Lanvasi(  a varchar(100) ) ' 
 exec (@strsql+ ' select * from #Lanvasi ')   
------解决方案--------------------declare @strsql varchar(4000) 
 set @strsql= 'create table #Lanvasi(  a varchar(100) ) '   
 exec (@strsql +  'select * from #Lanvasi ')
------解决方案--------------------生成临时表写在的动态sql语句中,但是select不是,不在一个作拥域内,所以提示临时表不存在   
 要么都写在动态sql中,就象楼上的写的,要么都不写
------解决方案--------------------create table #Lanvasi(  a varchar(100) )   
 declare @strsql varchar(4000) 
 set @strsql= 'insert into #Lanvasi ... '   
 exec (@strsql)   
 select * from #Lanvasi
------解决方案--------------------declare @strsql varchar(4000) 
 set @strsql= 'create table #Lanvasi(  a varchar(100) ) ' 
 exec (@strsql+ ' select * from #Lanvasi ') 
------解决方案--------------------declare @strsql varchar(4000) 
 set @strsql= 'create table #Lanvasi(  a varchar(100) ) ' 
 exec (@strsql) 
 到此 ,#Lanvasi的生命周期已经结束 
 所以在下面引用的时候会提示 对象名  '#Lanvasi ' 无效。 
 select * from #Lanvasi   
 上面的几位已给出正确答案
------解决方案--------------------临时表是只存在一个会话中 
------解决方案--------------------!!!!! 
 好像以上几位说的不对吧? 
 !!!!! 
 ——可能原因是:你执行建表的一段语句所在的数据库是什么? 
 比如: 
 use master 
 go 
 declare @strsql varchar(4000) 
 set @strsql= 'create table #Lanvasi(  a varchar(100) ) ' 
 exec (@strsql) 
 go 
 这样临时表就是建在master库里的,要进行查询,则 
 use master 
 go 
 select * from #Lanvasi 
 go 
 或者是select * from master..#Lanvasi