0

Oracle PL/SQL コミット時にリモート プロシージャ (RPC) を呼び出す方法。例: 1 つのテーブル TABLE1 があり、TABLE1 にいくつかの行を挿入してコミットします。コミット時にリモート プロシージャを呼び出す必要があります。

4

1 に答える 1

0

リモート プロシージャとは何を意味するのかよくわかりませんが、「コミット時に」何かをしたい場合は、通常、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あなたがする必要があることは何でもする手続きです。

于 2011-07-08T11:53:24.110 に答える