繁体   English   中英

在SQL Server 2008中的另一个存储过程中运行一个存储过程

[英]Run one stored procedure within another stored procedure in SQL Server 2008

我有一个名为[usp_Movie_GetUserPaidList]的存储过程,它使用两个参数@MovieID INT, @UserName Nvarchar(250)并返回类似这样的数据

Exec usp_Movie_GetUserPaidList @MovieID, @UserName

IsPaidUser   | IsSubscribeUser
   0                 0

现在在另一个存储过程中,我有类似

DECLARE @tblTemp1 TABLE (
        MovieID INT
        ,IsPaidUser BIT
        ,IsSubscribeUser BIT
        )

在这里我知道@MovieID

现在我需要做类似的事情

INSERT INTO @tblTemp1
SELECT @MovieID (EXEC [usp_Movie_GetUserPaidList] @MovieID,@userName )

这显然是不正确的。

帮我这样做...谢谢您的时间。

您需要在另一个变量中获取输出,然后使用它:

 DECLARE @Movieid int
 EXEC @Movieid = [usp_Movie_GetUserPaidList] @MovieID,@userName

这里的假设是:1.您拥有@MovieID和@userName。 2.您存储的过程usp_Movie_GetUserPaidList返回正确的值。

为什么不在存储过程usp_Movie_GetUserPaidList的输出中返回MovieID ,因为您在那里也知道它。 然后,您可以在另一个存储过程中使用简单插入:

INSERT INTO @tblTemp1
EXEC [usp_Movie_GetUserPaidList] @MovieID,@userName 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM