如何把存储过程查询出来的结果(记录)放到一个临时表里面?

shang515 2003-10-24 04:37:44
如题
...全文
542 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
YuriOU 2003-10-24
  • 打赏
  • 举报
回复
create table #temp (col1 varchar(100),col2.........)

insert into #temp exec proc_name
pengdali 2003-10-24
  • 打赏
  • 举报
回复
举例:


create table #a(a varchar(1000))

insert #a exec xp_cmdshell 'dir c:'

select * from #a
shang515 2003-10-24
  • 打赏
  • 举报
回复
不行哟,不能满足要求呀

存储过程都是已经写好的,而且查询结果里的记录字段也都不一样
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
怎么样才能把这些存储过程的查询结果放到一个临时表里面?
3KS
yoki 2003-10-24
  • 打赏
  • 举报
回复

你可以运行这个例子看一下,它将sp_who存储过程返回的记录集插入到临时表中
create table #a(spid int,ecid int,status varchar(50),loginname varchar(50),hostname varchar(50),blk int,dbname varchar(50),cmd text)

insert into #a exec('sp_who')
yoki 2003-10-24
  • 打赏
  • 举报
回复
create table #a(spid int,ecid int,status varchar(50),loginname varchar(50),hostname varchar(50),blk int,dbname varchar(50),cmd text)
insert into #a exec('sp_who')
yoki 2003-10-24
  • 打赏
  • 举报
回复
Create procedure test
As
Select * into ##temp from table1
go

在外面你就可以访问##temp表了
xjwxiong 2003-10-24
  • 打赏
  • 举报
回复
select * into #Tmp from A
即可
#tmp為臨時表
A 可為查詢聚合(暫是看作一個表,可以自由發展)
txlicenhe 2003-10-24
  • 打赏
  • 举报
回复
注意必须先建临时表,再用insert #tmp Exec test
txlicenhe 2003-10-24
  • 打赏
  • 举报
回复
eg:

1: Create procedure test
As
Select 1 as id,'abc' as name
go

2:
Create table #tmp (a int,b varchar(10))
insert #tmp Exec test
Select * from #tmp



22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧