Получить возвращаемое значение из хранимой процедуры на связанном сервере в SQL Server - PullRequest
0 голосов
/ 18 октября 2019

У меня есть хранимая функция в БД Oracle, которую я выполняю из процедуры в SQL Server. Функция в Oracle возвращает логическое значение. Проблема в том, что я получаю это значение после его выполнения.

Вот вызов:

EXEC  ('DECLARE
            x boolean;
        BEGIN
            x := dba.ws_pack.truncate_table;
        END;'
) AT DBLINK;

, который работает для выполнения функции и усечения таблицы.

Итак, есть идеи, как получить значение x или как я могу выполнить это и получить возвращаемое значение напрямую?

Ответы [ 2 ]

1 голос
/ 19 октября 2019
EXEC ('BEGIN ? := dba.ws_pack.truncate_table; END;', @ReturnValue ) AT DBLINK;
0 голосов
/ 21 октября 2019

Вот что я получил на работу:

select @return_value = val from openquery(DBLINK, 'select dba.ws_pack.truncate_table val from dual');
...