gpt4 book ai didi

sql - 如何组合来自两个存储过程调用的结果集?

转载 作者:行者123 更新时间:2023-12-04 12:48:24 26 4
gpt4 key购买 nike

我有以下存储过程

CREATE PROCEDURE [dbo].[MyStored]
@state int
AS
SELECT blahblahblah WHERE StoredState=@state LotsOfJoinsFollow;
RETURN 0

我想用@state 调用该存储过程 01并将两个调用返回的结果集与 UNION 结合起来语义,以便我有一个新的结果集,其中包含来自第一次调用和第二次调用的行。

类似于(虚构的 SQL):
(EXEC MyStored 0) UNION (EXEC MyStored 1);

我如何做到这一点?

最佳答案

这可能把问题简单化了,但是如果您可以控制 sp,只需使用 in 而不是 =:

CREATE PROCEDURE [dbo].[MyStored]
AS
SELECT blahblahblah WHERE StoredState IN (0,1) LotsOfJoinsFollow;
RETURN 0

如果这不是一个选项,只需将两个 sproc 调用的结果推送到临时表中:
/*Create a table with the same columns that the sproc returns*/
CREATE TABLE #tempblahblah(blahblahblah NVARCHAR(50))

INSERT #tempblahblah ( blahblahblah )
EXEC MyStored 0

INSERT #tempblahblah ( blahblahblah )
EXEC MyStored 1

SELECT * FROM #tempblahblah

关于sql - 如何组合来自两个存储过程调用的结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8669703/

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