1

我已经使用用户USERA在数据库A中创建了一个存储过程PROCA ,并授予 USERB 执行权限,当使用USERB登录时,我可以在数据库 A 中执行这个存储过程。

现在我登录到数据库X并创建了一个 dblink Akink,这个 dblink 使用用户 USERB 连接到数据库 A。现在,当我使用以下语法执行存储过程时,它被执行而没有任何错误,但是存储过程所做的任何 DML 操作都没有提交。

从 Databse X 调用存储过程的代码

declare

begin

   USERA.PROCA@Alink();

   COMMIT;

end;

请提出可能是什么问题。

4

1 回答 1

0

对于这种情况,似乎没有好的解决方案。
但这里有一个建议给你;尝试使用这个:

Exec dbms_utility.exec_ddl_statement@db_link('some ddl sql statment');

例如:

Exec dbms_utility.exec_ddl_statement@db_link('truncate table test_tab');
于 2013-07-17T14:24:55.047 回答