Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Проблема с триггерами и записью в сокет в том, что в оракле нет события (триггера) OnCommit, на которое можно было бы повесить обработчикесть очень древний подход — раньше в таких случаях делали в триггере dbms_job.submit, который должен вызвать нужную процедуру-хэндлер события. Соответственно, пока основная транзакция не делала коммит — джоб не запускался.
И не решает проблемы обработки Rollback.в смысле? Вообще-то как раз решают — при роллбэке джоб-хэндлер вызван не будет.
Так вот, в триггере на таблице, который пишет в сокет проблема в томтут опаснее то, что любые проблемы в таком триггере скажутся на самой основной транзакции, которые зачастую стараются делать как быстрее, а все лишнее проводить в асинхронной обработке близкой к реальному времени
Я даже где-то понимаю оракловцев мужественно терпящих висящий с 90-х годов тикет про это событие.
Опыт использования Object Change Notification в Oracle