Выполнить процедуру в триггере - PullRequest
6 голосов
/ 10 ноября 2009

Возможно ли выполнить хранимую процедуру внутри триггера?

Спасибо

Ответы [ 4 ]

10 голосов
/ 10 ноября 2009

Да, вот так:

create or replace trigger trg
after insert on emp
for each row
begin
   myproc(:new.empno, :new.ename);
end;
2 голосов
/ 11 июля 2013

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

1 голос
/ 10 ноября 2009

Да, вы можете. Просто помните, что триггер может срабатывать для каждой строки, на которую воздействует триггер DML. Таким образом, ваша хранимая процедура должна быть оптимизирована, иначе вы можете столкнуться с проблемами производительности. Триггеры - это хорошо, но вы просто должны помнить о проблемах производительности, которые могут возникнуть при их использовании.

1 голос
/ 10 ноября 2009

В SQL Server это так. Какую СУБД вы используете?

ETA: Оракул, а? У меня нет личного опыта с этим, но этот , кажется, указывает на то, что вы можете. Я нашел это, прибегая к помощи «хранимой процедуры запуска оракула».

...