在存處過程中要用到另一個存處過程的結果,怎麼辦

zealothasu 2003-08-19 05:19:26
在存處過程中要用到另一個存處過程的結果(是一個數據集)


那怎麼吧它的結果放到一個臨時表中呢??


...全文
25 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-08-20
  • 打赏
  • 举报
回复
用全局临时表:

create proc 过程名
as
select * into ##全局临时表 from 表
go

----
exec 过程名
select * from ##全局临时表
mistral 2003-08-20
  • 打赏
  • 举报
回复
你可以考虑使用table变量,声明变量的方法是声明普通变量和建立表的结合。详悉方法请查看帮助文件。
zealothasu 2003-08-20
  • 打赏
  • 举报
回复
我知道方法是對的

但是這是針對返回數據集結構固定

要是不固定的該怎麼辦??

伍子V5 2003-08-20
  • 打赏
  • 举报
回复
大力的解决方法是对的,再不你用函数也行
zealothasu 2003-08-20
  • 打赏
  • 举报
回复
返回數據集列是動態的

能不能不create #來操作??

就像
select *
into #aaa
from tablea

一樣

我試了不行

不知大家有甚麼好辦法
nboys 2003-08-19
  • 打赏
  • 举报
回复
create table # (col1.........)

insert into # exec proc_name

select * from #

drop table #
txlicenhe 2003-08-19
  • 打赏
  • 举报
回复
up
hjb111 2003-08-19
  • 打赏
  • 举报
回复
create table #temp(结构和返回结构相同 int)
insert #temp exec yourprocname
select * from #temp
CrazyFor 2003-08-19
  • 打赏
  • 举报
回复
参考:

create table #table(id int identity,txt varchar(1000))
insert into #table(txt) exec master..xp_cmdshell 'dir c:\*.'
select * from #table



用存储过程插入数据
在INSERT 语句中可以通过执行存储过程来取得要插入的数据所插入的数据是存储
过程中SELECT 语句所检索的结果集使用存储过程插入数据的语法如下
INSERT [INTO]
{ table_name WITH ( <table_hint_limited> [...n])
| view_name
| rowset_function_limited }
{ [(column_list)]
EXECUTE procedure
其中procedure 既可以是一个已经存在的系统存储过程或用户自定义的存储过程也
可以在INSERT 语句中直接编写存储过程
例11-4 对每个部门求员工工资总额并把结果存入department_info 表中
use pangu
insert into department_info(dept_id, d_wage)
execute ('select dept_id, sum(e_wage)
from employee
group by dept_id')
select * from department_info
运行结果如下
(7 row(s) affected)
dept_id d_chief_name d_location e_num d_wage
------- -------------------- -------------------------------------------------- ------ ------------
1001 dbo NULL NULL 15000.0000
1002 dbo NULL NULL 19500.0000
lifeforu 2003-08-19
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/TopicView1.asp?id=2142802
lifeforu 2003-08-19
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2142/2142802.xml?temp=.5115167
yzssg 2003-08-19
  • 打赏
  • 举报
回复
大力的解决方法是对的,再不你用函数也行
pengdali 2003-08-19
  • 打赏
  • 举报
回复
create table #临时表(结构和返回结构相同 int)

insert #临时表 exec 过程名

select * from #临时表

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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