繁体   English   中英

在另一个存储过程中使用一个存储过程的结果-SQL Server

[英]Using results of one stored procedure in another stored procedure - SQL Server

有没有办法在不使用表变量或临时表的情况下在另一个存储过程中使用一个存储过程的结果? 逻辑如下:

   IF (@example = 1)
    BEGIN
        DECLARE #temp TABLE (Id INT);
        INSERT INTO #temp
            EXEC [Procedure1] @ItemId = @StockId

        set @Cost = (select top 1 id from #temp)

理想情况下,我想知道是否有一种方法可以不必使用临时表。 在网上四处张望,但找不到任何有效的方法。 任何建议都很好。

通常,如果要在SELECT使用用户定义的代码,则最好将代码用短语作为用户定义的函数而不是用户定义的过程

也就是说,应该使用过程来产生副作用,而应该使用函数来返回值。

也就是说,您可以使用openquery在此处记录 )在链接服务器上运行exec 链接的服务器可以是您正在运行的服务器。

暂无
暂无

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

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