可以使用临时表#t,SQL SERVER回自动为每一个临时表在TEMPDB里边创建一个唯一的表名,不用担心表明重复的问题的.

解决方案 »

  1.   

    特定进程创建的临时表只能在此进程中使用.你可以测试一下EXEC ('SELECT TOP 1 IDENTITY(INT) ID INTO #t FROM sysobjects;SELECT * FROM #t')
    SELECT * FROM #t看看你外部(EXEC的外部)的语句是否能访问#t所以对你的问题,如楼上二位讲的不存在那个问题.
    当然,你要注意,你的存储过程中创建的临时表不是用动态语句生成的.
      

  2.   

    insert into # exec proc_aaa
    select * from #
    不会出现编译错误的前提,proc_aaa存在
    不会出现运行时错误的前提是,proc_aaa是返回结果集
    后面的select * from #说明,你可以使用#里面的内容作你所要的操作了。
      

  3.   

    proc_aaa,可以是返回单个和#结构相同的结果集的过程或('sqltext')动态sql语句。