2014-10-28 6 views
1

Если триггер уже функционирует, то каким будет эффект, если я заменил его небольшую часть, так что многие записи вставляются в таблицу A непрерывно, в которой применяется триггер.Изменение триггера в базе данных Oracle

Trigger X работает в таблице А, Всего записей становятся insterted в минуту 1000 Если я заменил на спусковой крючок, что будет влияние этого для тех обслуживания, которые экранным таблицу.

Заранее спасибо

+0

Редизайн, основанный на выпуске Oracle (http://docs.oracle.com/cd/E11882_01/appdev.112/e10471/adfns_editions.htm#ADFNS020), может помочь вам здесь. –

ответ

1

A CREATE TRIGGER DDL не должен иметь никакого влияния на вашей запущенную DML операций. Для добавления триггера в таблицу не требуются эксклюзивные блокировки.

CREATE ИЛИ REPLACE DDL немного отличается. Он должен изменить существующий объект. Если триггер активно запускается, новый триггер попытается заблокировать объект триггера в кэше библиотеки, прежде чем изменять его. Никакого влияния на стол.

Я обычно замечаю, что триггеры выполняются немедленно.

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

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

Любые будущие транзакции будут запускать триггер.

Смежные вопросы