#B
只限于当前查询,查询结束就过期,删除掉了用
declare @sql varchar(8000) 
set @sql='select * into ##b from table2' 
exec (@sql) select * from ##b 

解决方案 »

  1.   

    create table #b(id int,a int,b int,c int)exec('insert into #b select * from table2')select * from #b
      

  2.   


    declare @sql varchar(8000) 
    set @sql='select * into #b from table2' 
    exec (@sql) 
    GO
    select * from #b
      

  3.   

    declare @sql varchar(8000) 
    set @sql='select * into #b from tb;select * from #b ' 
    exec (@sql) 
      

  4.   

    create table tb(col int)
    insert tb
    select 1create table #b(col int)declare @sql varchar(8000)
    set @sql='insert #b select col from tb'
    exec (@sql)select * from #b
    /*
    col
    -----------
    1
    */
    drop table tb,#b
      

  5.   


    declare @sql varchar(8000) 
    if (OBJECT_ID('tempdb..##b') >0 )
    drop table  ##bset @sql='select * into ##b from tb'
    exec (@sql) select * from ##b 正确用法为 ,为全局临时表
      

  6.   

    --1.
    declare @sql varchar(8000) 
    set @sql='select * into #b from table2;select * from #b' 
    exec (@sql) 
    --2.
    declare @sql varchar(8000) 
    set @sql='select * into ##b from table2;' 
    exec (@sql) 
    select * from ##b
    --3.
    select * into #b from table2;
    select * from #b
      

  7.   

    临时表:#表名,生命周期、作用域是连接。全局临时表:##,生命周期也是连接、但作用域是全局,其他连接也能访问。表变量:@表明,生命周期和作用域都是在sql语句块内