代码之家  ›  专栏  ›  技术社区  ›  user1532976

函数内不允许进行远程函数调用

  •  0
  • user1532976  · 技术社区  · 11 年前

    标量值函数在调用远程函数后失败。有什么方法可以调用远程服务器功能吗?

    这是代码

    ALTER FUNCTION [dbo].[fnGetCatalogNumber] 
    (
        -- Add the parameters for the function here
        @ProductID int
    )
    RETURNS varchar(20) 
    AS
    BEGIN
         -- Declare the return variable here
          DECLARE @CatalogNumber varchar(20), @catalog_data varchar(20)
    
    
        -- Add the T-SQL statements to compute the return value here
        --Exec Dev01.Product_Core.dbo.usp_get_CatalogNumber @ProductId = @ProductID 
         ,@CatalogNumber = @catalog_data output
    
        -- Return the result of the function
        RETURN @CatalogNumber
    
    END
    
    1 回复  |  直到 11 年前
        1
  •  1
  •   Community Muhammed Neswine    7 年前

    您不能在函数中执行存储过程,因为假设这样的过程可能会引起副作用,例如表更改。

    可以 考虑将函数重新定义为存储过程,从而允许内部存储过程调用,但要注意,这样做充满了危险、警告和危险,正如前面详细讨论的那样 here.