Oracle PL / SQL Как вызвать удаленную процедуру (RPC) при коммите - PullRequest
0 голосов
/ 08 июля 2011

Oracle PL / SQL Как вызвать удаленную процедуру (RPC) при коммите. Пример: я имею одну таблицу TABLE1 и вставляю в TABLE1 несколько строк и фиксирую. Мне нужно вызвать удаленную процедуру при коммите.

1 Ответ

0 голосов
/ 08 июля 2011

Я не совсем уверен, что вы подразумеваете под удаленной процедурой, но если вы хотите сделать что-либо «при коммите», то обычно лучший способ - это создать триггер AFTER, который вызывает DBMS_JOB.SUBMIT для выполнения работы. Задание выполняется только в том случае, если транзакция зафиксирована, а не в случае отката. Триггер будет что-то вроде:

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 - это процедура, которая делает все, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...