存贮过程返回的结果是一个表,我在查询分析器中执行,如何让这个结果保存到临时表中去
---------
比如:在查询分析器中执行
exec 存贮过程名 
后,将在下面显示结果,是一个表。现在我想让这个表保存起来。如何实现呢?
注:我是指在查询分析器执行。(在客户端当然可以用ado记录集了。)

解决方案 »

  1.   

    create #临时表(……)insert #临时表
    exec 存储过程
      

  2.   

    把這個存儲過程改為返回類型為表的 函數 fn_存贮过程名 ()insert table1 
     select * from dbo.fn_存贮过程名 ()
      

  3.   

    create table #aa()insert into #aa exec (存贮过程名 )
      

  4.   

    --先建一个测试数据
    create table base
    (
    编号 char(6),
    姓名 varchar(10))insert into base
    select '1','张三' union all
    select '2','王地' union all
    select '3','李我人' union all
    select '4','王二' union all
    select '5','金一人' union all
    select '6','刘三我' 
    --看一下基础表
    select * from base--建存贮过程
    create  proc progtmp
    as 
    select 编号,姓名 from base
    --必须先建一个表的结构,来装存贮过程的数据才行
    create table #
    (
    编号 char(6),
    姓名 varchar(10))
    insert into #
    exec progtmp
    select * from #drop table #