gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 18:45:11 26 4
gpt4 key购买 nike

我正在使用 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...

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

关于sql - 从存储过程 Transact-SQL SQL Server 中访问结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com