日期:2014-05-18  浏览次数:20413 次

存贮过程返回的结果是一个表,我在查询分析器中执行,如何让这个结果保存到临时表中去
存贮过程返回的结果是一个表,我在查询分析器中执行,如何让这个结果保存到临时表中去
---------
比如:在查询分析器中执行
exec   存贮过程名  
后,将在下面显示结果,是一个表。

现在我想让这个表保存起来。如何实现呢?
注:我是指在查询分析器执行。(在客户端当然可以用ado记录集了。)

------解决方案--------------------
create #临时表(……)

insert #临时表
exec 存储过程
------解决方案--------------------
把這個存儲過程改為返回類型為表的 函數 fn_存贮过程名 ()

insert table1
select * from dbo.fn_存贮过程名 ()
------解决方案--------------------
create table #aa()

insert into #aa exec (存贮过程名 )
------解决方案--------------------
--先建一个测试数据
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 #