加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql – 怎样组合来自两个存储进程挪用的功效集?

发布时间:2021-05-23 10:17:41 所属栏目:编程 来源:网络整理
导读:我有一个以下存储进程 CREATE PROCEDURE [dbo].[MyStored] @state intAS SELECT blahblahblah WHERE StoredState=@state LotsOfJoinsFollow;RETURN 0 我想挪用@state为0和1的存储进程,并将两个挪用返回的功效集与UNION语义团结起来,这样我就有了一个新的功效

我有一个以下存储进程

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

我想挪用@state为0和1的存储进程,并将两个挪用返回的功效集与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

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读