我在Oracle DB上有一个存储函数,我正在从SQL Server中的过程执行。Oracle 中的函数返回一个布尔值。我遇到的麻烦是一旦执行该值就会获得该值。
这是电话:
EXEC ('DECLARE
x boolean;
BEGIN
x := dba.ws_pack.truncate_table;
END;'
) AT DBLINK;
这适用于执行函数和截断表。
那么知道我如何获取 x 的值,或者我如何执行它并直接获取返回值吗?
EXEC ('BEGIN ? := dba.ws_pack.truncate_table; END;', @ReturnValue ) AT DBLINK;
这是我的工作:
select @return_value = val from openquery(DBLINK, 'select dba.ws_pack.truncate_table val from dual');