Откат Oracle и триггер

Отражение является рядом функций, который позволяет Вам получать доступ к информации о выполнении своей программы и изменять его поведение (с некоторыми ограничениями).

Это полезно, потому что это позволяет Вам изменять время выполнения behaivour в зависимости от метаинформации Вашей программы, то есть, можно проверить тип возврата функции и изменить способ, которым Вы обрабатываете ситуацию.

В C#, например, можно загрузить блок (.dll) во времени выполнения исследование его, перейдя через классы и приняв меры согласно тому, что Вы нашли. Это также позволило Вам создать экземпляр класса на времени выполнения, вызвать его метод, и т.д.

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

5
задан moejoe11 9 July 2009 в 15:43
поделиться

2 ответа

Да, будет.

Триггеры работают в рамках транзакции оператора DML (запущенной явно вами или оператором DML сам неявно)

Когда эта транзакция откатывается, все изменения, сделанные триггерами, также откатываются.

Однако, если вы поместите

PRAGMA autonomous_transaction

в определение триггера, триггер запустит свою собственную транзакцию, которую вы должны зафиксировать до завершения триггера.

9
ответ дан 13 December 2019 в 05:40
поделиться

Просто примечание - если вы определите триггер уровня оператора AFTER UPDATE (без предложения FOR EACH ROW), он не сработает, если оператор DML в таблице завершится неудачно и будет откат.

3
ответ дан 13 December 2019 в 05:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: