Отправить письмо из триггера оракула - если произойдет DML - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть таблица с именем TEST_TABLE.Мне нужно получить уведомление по электронной почте, если в этой таблице произошли какие-либо изменения (например, вставка, обновление, удаление и удаление).

Я думаю, что используя триггер БД, мы можем получить предупреждение.

так может кто-нибудь, пожалуйста, помогите мне, как написать триггер оракула с этими изменениями?

1 Ответ

0 голосов
/ 21 ноября 2018

На самом деле, я бы поставил под сомнение это требование,

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

начать вставку в таблицу select 1/0, 'Hello i am new';- Триггер срабатывает и отправляет почту, думал, что вставить не удалось.commit; / - мы никогда не достигнем здесь .. / end;

У вас есть альтернатива - создать dbms_job и заставить триггер вызывать это задание в теле триггера.

Разница: dbms_job отправляется только в случае успешной фиксации.

См. Отличную дискуссию по AskTom по этому вопросу

https://asktom.oracle.com/pls/apex/asktom.search?tag=email-in-plsql

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