Создание триггеров

Last updated 10 months ago

5 Создание триггеров

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

Нажимаем на кнопку

для создания нового триггера. В данном случае это YVEINE_TMDB_INTAKE_LIST_A_TRG (см. Введение).

Напротив

записываем имя триггера, в данном случае это YVEINE_TMDB_INTAKE_LIST_A_TRG. С помощью кнопки

выбираем таблицу, для которой создаётся данный триггер. В данном случае это таблица YVEINE_TMDB_INTAKE_LIST_A и нажимаем

Ставим галочку напротив Insert (триггер будет действовать до (Before) добавления (Insert)).

Далее переходим на вкладку

Здесь зеленой стрелкой отмечен комментарий, а синей PL/SQL блок [Если новая колонка NRDOC1 с нулевым значением, тогда Выбирается последовательность следующего значения из виртуальной таблицы DUAL]. Работа этого триггера будет давать колонке NRDOC1 уникальное значение при добавлении новой записи исходя из последовательности(Sequence).

После нажатия на кнопку

триггер будет создан.

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

"Refresh all objects".

В результате чего в списке Triggers появился созданный триггер YVEINE_TMDB_INTAKE_LIST_A_TRG. На вкладке

находится PL/SQL блок.

На вкладке

выбранная строка для которой создан триггер.

Вкладка

показывает ошибки.

Приступим к созданию второго триггера. Для этого нажмем на

Напротив

запишем имя второго триггера. В данном случае это YVEINE_TMDB_INTAKE_LIST_B (см. Введение). С помощью кнопки

выбираем таблицу, для которой создаётся данный триггер. Это таблица YVEINE_TMDB_INTAKE_LIST_B.

Ставим галочку напротив Insert. В этом случае триггер будет работать (Before Insert) До Добавления записи.

Переходим на вкладку

и записываем PL/SQL блок, аналогичный первому триггеру. В данном случае колонка NRDOC2.

После чего нажимаем

Для появления нового триггера в списке нажмём

"Refresh all objects".

В списке находим второй триггер YVEINE_TMDB_INTAKE_LIST_B_TRG. На вкладке

находится PL/SQL блок.

Теперь создадим третий триггер. Для этого нажмем на

Напротив

записываем имя третьего триггера YVEINE_TMDB_INTAKE_LIST_C_TRG (см. Введение). С помощью кнопки

выбираем таблицу для создаваемого триггера. В данном случае это YVEINE_TMDB_INTAKE_LIST_C и нажимаем

Далее переходим на вкладку

и записываем PL/SQL блок аналогичный двум предыдущим триггерам. В данном случае колонка NRDOC3.

Для завершения редактирования нажимаем

Для появления нового триггера в списке нажмём

"Refresh all objects".

Триггер YVEINE_TMDB_INTAKE_LIST_A_TRG предназначен для колонки NRDOC1.

Триггер YVEINE_TMDB_INTAKE_LIST_B_TRG предназначен для колонки NRDOC2.

Триггер YVEINE_TMDB_INTAKE_LIST_C_TRG предназначен для колонки NRDOC3.

Для завершения текущей транзакции с сохранением нажмем

“Commit”.