【问题标题】:How to capture Oracle SP INOUT parameter in SQL Server如何在 SQL Server 中捕获 Oracle SP INOUT 参数
【发布时间】:2016-05-23 09:44:14
【问题描述】:

我的 SQL Server 中有 Oracle 链接服务器。我创建了在 Oracle 中执行存储过程的过程:

CREATE PROCEDURE ModifySth (
    @var1 nvarchar(255),
    @var2 nvarchar(255)
)
AS
BEGIN
    DECLARE @var3 as NVARCHAR(255);
    EXEC('begin oracleSPname(?, ?, ? ); end;',
            @var1 output,        
            @var2,
            @var3 output,
        )
    at ORACLE
    SELECT @var1 as var1, @Vvar3 as var3;
END

当我执行ModifySth 时,我传递了两个参数并排除了两个输出变量。 var1IN OUT。如何捕获var1?当我试图捕获时,我得到的是我传递给存储过程的值,而不是输出值。

【问题讨论】:

    标签: sql-server oracle tsql stored-procedures linked-server


    【解决方案1】:

    为什么不使用额外的变量?

    DECLARE @var1_reply as NVARCHAR(255);
    
    EXEC('begin oracleSPname(?, ?, ?, ? ); end;',
            @var1,        
            @var1_reply output,
            @var2,
            @var3 output,
        )
    at ORACLE
    
    set @var1= @var1_reply;
    

    【讨论】:

      猜你喜欢
      • 2021-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多