SQL Server检索存储过程的结果集

目的:检索过滤执行存储过程的结果集

如下介绍两个常用的方法,但是都需要申明表结构;不知道是否有更简便的方法,如有更好的方法,请不吝赐教。

以系统存储过程sp_who2为例:

方法1:使用临时表

 1 --1. 创建临时表
 2 CREATE TABLE #tmp(
 3         SPID int,
 4         Status nvarchar(50), 
 5         Login nvarchar(50), 
 6         HostName nvarchar(50), 
 7         BlkBy nvarchar(50), 
 8         DBName nvarchar(50), 
 9         Command nvarchar(50),
10         CPUTime nvarchar(50), 
11         DiskIO nvarchar(50), 
12         LastBatch nvarchar(50), 
13         ProgramName nvarchar(50),
14         SPID2 int, 
15         REQUESTID int
16     )
17 
18 --2. 执行存储过程并将存储过程的返回结果集插入临时表
19 insert into #tmp exec sp_who2
20 
21 --3. 检索、查询
22 select * from #tmp where Status = 'sleeping'
23 
24 --4. 清除临时表
25 DROP TABLE #tmp

方法2:使用表变量

1 --1. 申明表变量
2 declare @tempTable Table(SPID int,Status nvarchar(50), Login nvarchar(50), HostName nvarchar(50), BlkBy nvarchar(50), DBName nvarchar(50), Command nvarchar(50),
3 CPUTime nvarchar(50), DiskIO nvarchar(50), LastBatch nvarchar(50), ProgramName nvarchar(50), SPID2 int, REQUESTID int)
4 
5 --2. 执行存储过程并将存储过程的返回结果集插入表中
6 insert into @tempTable exec sp_who2
7 
8 --3. 检索、查询
9 select * from @tempTable where Status = 'sleeping'

 

转载于:https://www.cnblogs.com/Juning/p/11268409.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值