在本次執行過程中--要保存~因為在存儲過程外部還有應用~
在下次執行時,首先drop ,而后重新創建。

解决方案 »

  1.   

    1,如果我把T1創建為臨時表,那在存儲過程執行完畢后,其中信息也隨之丟失.其他地方肯定是獲取不了信息的~在存储过程里面将结果集返回:
    select * from #臨時表
    2.如果創建為物理表,又存在多用戶操作同一T1的危險。显然不能用物理表。
      

  2.   

    存储过程外边再建一个臨時表,接收结果集:create table #臨時表(...)
    insert into #臨時表 exec 存储过程
      

  3.   

    --创建临时表
    create table #t (
    myid int not null,
    mycd varchar(20) null
    )
    --删除临时表declare @tmpTable nvarchar(300)
    IF EXISTS(SELECT name 
          FROM      tempdb..sysobjects 
          WHERE  name like '#t'+'%'
          AND      type = 'U')
    begin
    set @tmpTable=''
    set @tmpTable=(SELECT name FROM tempdb..sysobjects WHERE  name like '#t'+'%' AND type = 'U')
    exec('drop table '+@tmpTable)
    end
    GO
    --说明
    /*
    临时表的命名规则:
    #t 表示本地变量
    ##t 表示全局变量
    */