从存储过程 Transact-SQL SQL Server 中访问结果集

2023-12-02

我正在使用 SQL Server 2005,我想知道如何从 transact-sql 中访问不同的结果集。以下存储过程返回两个结果集,例如,如何从另一个存储过程访问它们?

CREATE PROCEDURE getOrder (@orderId as numeric) AS
BEGIN   
    select order_address, order_number from order_table where order_id = @orderId
    select item, number_of_items, cost from order_line where order_id = @orderId
END

我需要能够单独迭代两个结果集。

编辑:只是为了澄清问题,我想测试存储过程。我有一组从 VB.NET 客户端使用的存储过程,它返回多个结果集。这些不会更改为表值函数,事实上我根本无法更改程序。改变程序不是一个选择。

过程返回的结果集的数据类型或列数不同。


简短的回答是:你做不到。

从 T-SQL 中,如果不按照其他人的建议更改存储过程,就无法访​​问嵌套存储过程调用的多个结果。

为了完整起见,如果该过程返回单个结果,您可以使用以下语法将其插入临时表或表变量中:

INSERT INTO #Table (...columns...)
EXEC MySproc ...parameters...

您可以对返回多个结果的过程使用相同的语法,但它只会处理第一个结果,其余结果将被丢弃。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从存储过程 Transact-SQL SQL Server 中访问结果集 的相关文章

  • 整理有关 QueryDSL-JPA 的提示

    有没有办法用 QueryDSL 来执行它 粗体部分 从地点选择 其中名称如 cafe 整理 Latin1 general CI AI 我将 JPA 与 hibernate 一起使用 您可以使用addFlag QueryFlag Positi
  • MySQL 子查询返回多行

    我正在执行这个查询 SELECT voterfile county Name voterfile precienct PREC ID voterfile precienct Name COUNT SELECT voterfile voter
  • 从存储过程中的动态 SQL 获取结果

    我正在编写一个存储过程 需要在过程中动态构造 SQL 语句以引用传入的表名称 我需要让这个 SQL 语句返回一个结果 然后我可以在整个过程的其余部分中使用该结果 我尝试过使用临时表和所有内容 但我不断收到一条消息 提示我需要声明变量等 例如
  • SSRS。如何在table1_Details_Group右侧创建新的行组?

    我正在使用 Microsoft Visual Studio 2013 创建报告 PROBLEM 如果我添加新的Row Group前面会自动添加table1 Details Group 问题 如何更改组的顺序或在右侧添加新组table1 De
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • 如何将自定义类型数组传递给 Postgres 函数

    我有一个自定义类型 CREATE TYPE mytype as id uuid amount numeric 13 4 我想将它传递给具有以下签名的函数 CREATE FUNCTION myschema myfunction id uuid
  • SQL Server 中的动态透视多列

    我有一张这样的桌子 Id Name FromAddress ToAddress 1 Joey ABC JKL 2 Joey DEF MNP 3 Joey GHI OQR 我正在 SQL Server 中寻找带有动态数据透视表的以下输出 Na
  • 是否允许在流水线 PL/SQL 表函数中使用 SELECT?

    管道函数的文档指出 在 SQL 语句 通常是SELECT 并且在大多数示例中 管道函数用于数据生成或转换 接受客户作为参数 但不发出任何 DML 语句 现在 从技术上讲 可以使用 SELECT 而不会出现 Oracle 中的任何错误 ORA
  • SQL - 为每条记录调用存储过程

    我正在寻找一种方法来为 select 语句的每条记录调用存储过程 SELECT SomeIds SELECT spro Id FROM SomeTable as spro INNER JOIN Address addr ON addr Id
  • SQL Server Express 到 .mdf 文件的连接

    两部分问题 我使用 VS 2015 Update 3 创建了一个 ASP NET MVC 5 应用程序 我在本地计算机上完成了该项目 突然 我无法再通过 SQL Server 对象资源管理器连接到 mdf数据库文件并出现以下错误 无法打开数
  • Postgres、更新和锁定顺序

    我正在研究 Postgres 9 2 有 2 个更新 每个更新都有自己的事务 一个看起来像 UPDATE foo SET a 1 WHERE b IN 1 2 3 4 另一个也类似 UPDATE foo SET a 2 WHERE b IN
  • Quartz.NET 设置 MisfireInstruction

    我正在使用 Quartz NET 在 C 中工作 并且在 CronTrigger 上设置失火指令时遇到问题 我正在运行安装了 Quartz DB 的 SQL 后端 我有以下代码 可以很好地创建作业和运行调度程序 IScheduler sch
  • SQL Server 相当于 MySQL 的 USING

    在 MySQL 中 当您连接不同表中具有相同名称的列时 可以在连接中使用关键字 USING 例如 这些查询产生相同的结果 SELECT FROM user INNER JOIN perm USING uid SELECT FROM user
  • 在 Postgres 中的数组字段上应用聚合函数?

    是否可以对整数 字段 或其他数字数组 中的所有值应用聚合 如 avg stddev CREATE TABLE widget measurement integer insert into widget measurement values
  • SQL Server 转换选择一列并将其转换为字符串

    是否可以编写一条从表中选择列并将结果转换为字符串的语句 理想情况下 我希望有逗号分隔的值 例如 假设 SELECT 语句看起来像这样 SELECT column FROM table WHERE column lt 10 结果是一列包含值的
  • 如何通过循环变量在 dbt 中多次运行 SQL 模型?

    我有一个 dbt 模型 测试模型 接受地理变量 zip state region 在配置中 我想通过循环变量来运行模型三次 每次使用不同的变量运行它 问题是 我有一个如下所示的宏 它将变量附加到输出表名称的末尾 即运行测试模型 with z
  • 将多行合并为一行并根据行数附加列

    我正在尝试将同一个表的多行合并为一个 我有一个像这样的示例表 Col1 Col2 Col3 Col4 Col5 Col6 1 BH1 CB 12 CC CC Conveyor Mal 1 BH1 CB 104 ZC ZC Full Emp
  • 在存储过程结束时显式删除本地临时表有什么好处?

    考虑以下伪 T SQL 代码 由存储过程执行 CREATE TABLE localTable
  • 外键引用多个表

    我有4张桌子 A ida name B ida B specific stuff C ida C specific stuff D ida D specific stuff 我希望另一个表 E 可以仅引用 B 或 C 而不是 D 我可以在其
  • SQL:查找每个跑步者跑步之间的平均天数

    因此 如果我们给出下表 runner ran Carol 2011 02 01 Alice 2011 02 01 Bob 2011 02 01 Carol 2011 02 02 Bob 2011 02 02 Bob 2011 02 03 B

随机推荐

  • 错误:在 Android Studio 中找不到名称为“default”的配置

    我正在使用 volley 库在 android 中执行网络操作 所以我试图在我的项目中添加这个库 该项目是在 Android Studio 和 gradle 系统中创建的 我在项目中添加了 volley 库 但是当我与 gradle 同步时
  • 条件 C# 二进制序列化

    我正在使用 BinaryFormatter 按条件序列化类及其变量 例如 Serializable public class Class1 private Class2 B Serializable public class Class2
  • 将参数传递给 eventListener 函数

    我有这个函数 check e 当我将其添加到 eventListener 时 我希望能够从 test 传递参数 这可能吗 就像说让 mainlink 变量传递参数一样 这还好吗 我把javascript放在下面 我也把它放在jsbin上 h
  • 在 boost::shared_ptr 运算符 bool() 上旋转时需要 C++ 易失性吗? [复制]

    这个问题在这里已经有答案了 可能的重复 何时在多线程中使用 易失性 我有两个线程引用相同的内容boost shared ptr boost shared ptr
  • 如何使用 angular5 防止 Dialog 在有角度的材料中打开两次

  • MATLAB 调试器不再显示行号

    我不完全确定如何 但我的 MATLAB R2013b 副本已停止显示错误发生在哪一行 我只会收到如下错误 下标分配尺寸不匹配 但没有行号与之配合 所以我不知道我的代码的哪一部分导致了问题 我是否搞乱了某个地方的设置 通过 首选项 gt 编辑
  • Python input() 函数中的 NameError [重复]

    这个问题在这里已经有答案了 input var input Press E and Enter to Exit NameError name e is not defined 我正在使用Python 2 5 我怎样才能克服这个错误 inpu
  • 解释用于获取文件名的 linux 正则表达式

    任何人都可以帮助我解释为什么使用这种方式获取文件名 例如 该文件是 fileName Users test am01 output output log fileName fileName 然后我们得到 fileName output lo
  • 在 MS Chart 的缩放视图上获取点

    我正在使用 Microsoft Chart 控件并允许用户选择 我希望能够在用户选择要缩放的区域后获取当前缩放 查看 区域的数据点 关于如何做到这一点有什么想法吗 我正在使用 Net 4 5 这是发送当前可见的示例DataPoints到控制
  • 打印 char 的二进制格式

    我写了一个函数来打印a的二进制格式char几个月前 它是这样的并且运行良好 void PrnCharBit char x int i mask for i CHAR BIT i gt 1 i mask 1 lt lt i 1 x putch
  • 文件未找到异常 IIS7

    我有一个 C Web 应用程序 在 VS2010 中运行得非常好 但是当部署到 IIS7 服务器时 返回 图像未找到图标 这段代码本质上是抓取网络共享位置上图像的缩略图 进行操作 然后推送回网页 Web 服务器与其尝试访问的文件位于同一网络
  • PHP json_encode - 奇怪的行为

    Using json encode对日期数组进行编码 它有时会做一件事 有时会做另一件事 例如 如果我尝试编码如下内容 array 6 0 gt string 6 Jun 24 1 gt string 6 Jun 25 2 gt strin
  • 如何将“4000万”转换为40,000,000美元?

    我正在寻找一种方法将数字字符串 如主题中所示 转换为正确的字符串 例如 40 000 000 php 是否提供了执行此操作的函数 谢谢您的帮助 str str replace billion 000000000 str str str re
  • 访问 Web 服务时出现 HTTP 403 错误

    我正在尝试从远程计算机访问网络服务 我设法从浏览器访问网络服务 但是当我尝试从应用程序调用 Web 服务时 我收到 HTTP 403 知道为什么吗 A 403响应表明您正在连接的主机或软件不允许访问 Web 服务 造成这种情况的原因可能是
  • 内联盒和原子内联盒的区别

    考虑以下代码 div div div display inline block div 块现在生成原子内联级框 正如中所述规格9 2 2 非行内框的行内级框 例如替换的 内联级元素 内联块元素和内联表 元素 被称为原子内联级框 因为它们 作
  • 剥离驱动器盘符

    通过使用 D 驱动器中文件夹中的命令 for f delims d in cd do set pathdrv d echo pathdrv 我得到 d 某个文件夹 我想编写批处理命令以在驱动器根目录中创建自动运行文件 请帮我删除驱动器号 d
  • 使用 SelectTokens 查询 JSON?使用 C# 中的 Newtonsoft.Json.Linq

    我试图在 C 中使用 Newtonsoft JSON Linq 来更改以下 JSON 中的 statusCode 值 disbursements id 1f337641 contactId f5eb2 statusCode 16600000
  • Node / Express:EADDRINUSE,地址已在使用中 - 终止服务器

    我有一个使用 connect 在 node js 中运行的简单服务器 var server require connect createServer actions server listen 3000 在我的代码中 我有实际的处理程序 但
  • 表有 2 个字段,但一次只能使用一个

    您将如何设计一个数据库 该数据库有一个包含 2 个字段的表 并且一次只能设置其中一个字段 而没有太多冗余 例如文件系统 假设我们有一张包含驱动器的表 一张包含文件夹 一张包含文件 驱动器和文件非常简单 但是 文件夹有一个父级 它可以是文件夹
  • 从存储过程 Transact-SQL SQL Server 中访问结果集

    我正在使用 SQL Server 2005 我想知道如何从 transact sql 中访问不同的结果集 以下存储过程返回两个结果集 例如 如何从另一个存储过程访问它们 CREATE PROCEDURE getOrder orderId a