• 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'
  • 相关阅读:
    windows nginx
    stdClass 标准
    array_merge
    array_pop
    array_push
    array_unique
    GMT与UTC简介(转)
    curl-手册
    13.5. zipfile — Work with ZIP archives
    7. Input and Output
  • 原文地址:https://www.cnblogs.com/Juning/p/11268409.html
Copyright © 2020-2023  润新知