SQL Server 存储过程返回的表结果集 如何插入到一个临时表去或者实表也行

解决方案 »

  1.   

    INSERT INTO tb --或者表变量
    EXEC proc_name
      

  2.   

    INSERT INTO tb
    select 结果集
      

  3.   

    --#1.注意PROC中的所有SELECT查询语句都会向tb表中插入数据,所以说,PROC最好只有一个返回结果集
    --#2.在PROC中可以加一句 insert ##temp select * from ...., 然后在外面引用##temp表
      

  4.   


    例如:tb表
    a           b
    ----------- --------------------
    1           北京;上海;
    2           广东;福建;广西;create proc 存储过程名
    as
    begin
    select * from tb
    endgocreate table #t(a int ,b varchar(20))
    insert into #t
    exec 存储过程名
    select * from #t
    /*
    a           b
    ----------- --------------------
    1           北京;上海;
    2           广东;福建;广西;
    */
    drop table #t
      

  5.   

    INSERT INTO 表名 EXEC 存储过程表要事先创建