在存储过程中调用另一个存储过程时如何得到被调用者返回的数据集

hardnut 2000-05-28 12:00:00
各位大虾,
我想在一个存储过程是调用用一个存储过程,然后处理它返回的数据集,可是我至今没有办法实现这个功能,
例如:
create procedure mypr
as
begin
exec sp_who
--我想在此处理sp_who返回的数据集,我该怎么办?
end
...全文
182 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Axiong 2000-05-29
  • 打赏
  • 举报
回复
我想是不是用下面的方法就可以了。

create procedure mypr
as
begin
--建一临时表 同sp_who返回一样的结构
create table #dk
(
)

insert #dk exec sp_who
--我想在此处理sp_who返回的数据集,我该怎么办?

处理#dk表中的数据

end
lux21 2000-05-29
  • 打赏
  • 举报
回复
Sorry,上次回复有误,这次可以这样。

SELECT a.spid
FROM OPENROWSET('SQLOLEDB','';'sa';'',
'sp_who') AS a

用上面的SELECT声明CURSOR
lux21 2000-05-28
  • 打赏
  • 举报
回复
用临时表
Axiong 2000-05-28
  • 打赏
  • 举报
回复
他的数据集返回来了,但你没有变量去处理呀。对于返回多数据集的情况,好象是不能处理的。

为什么会有cursor,就是让你访问单独的数据行呀。
你可采用游标的方式处理。你如果要用sp_who的话,你可去看看sp_who的procedure,再进行你的代码的编写。应该能达到你的要求。

34,575

社区成员

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

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