Oracle PL/SQL 如何在提交时调用远程过程 (RPC)

发布于 2024-11-19 02:01:44 字数 90 浏览 6 评论 0原文

Oracle PL/SQL 如何在提交时调用远程过程 (RPC)。 示例:我有一个表 TABLE1 并向 TABLE1 插入一些行并提交。我需要在提交时调用远程过程。

Oracle PL/SQL How to call remote procedure (RPC) on commit.
Example: I have one table TABLE1 and insert into TABLE1 some rows and commit. I need call remote procedure on commit.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青芜 2024-11-26 02:01:44

我不太清楚远程过程是什么意思,但如果您想“在提交时”执行任何操作,那么通常最好的方法是创建一个调用 DBMS_JOB.SUBMIT 来执行工作的 AFTER 触发器。仅当事务提交时才会执行该作业,而在事务回滚时则不会执行。触发器类似于:

create trigger call_rpc
after insert on table1
for each row
declare
   l_job number;
begin 
   dbms_job.submit( l_job, 'mypkg.run_rpc(:new.id);' );
end;

其中 mypkg.run_rpc 是一个执行您需要执行的操作的过程。

I'm not sure quite what you mean by a remote procedure, but if you want to do anything "on commit" then usually the best way is to create an AFTER trigger that calls DBMS_JOB.SUBMIT to perform the work. The job is only performed if the transaction is committed, not if it rolls back. The trigger would be something like:

create trigger call_rpc
after insert on table1
for each row
declare
   l_job number;
begin 
   dbms_job.submit( l_job, 'mypkg.run_rpc(:new.id);' );
end;

where mypkg.run_rpc is a procedure that does whatever you need to do.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文