На странице «Триггеры таблицы» задается список триггеров для таблицы.
Триггер - это функция, состоящая из SQL-операторов и описывающая действия, которые необходимо выполнить при определенных условиях.
Для создания триггера:
нажмите кнопку «Добавить»;
дважды щелкните в области списка триггеров.
Будет открыт диалог «Свойства триггера».
Для редактирования выбранного триггера:
нажмите кнопку «Редактировать»;
дважды щелкните по триггеру;
Будет открыт диалог «Свойства триггера». Внесите в нём требуемые изменения. Также окно свойств триггеров можно вызвать двойным щелчком мыши.
Для удаления текущего триггера нажмите кнопку «Удалить».
Если триггер создан вне «Форсайт. Аналитическая платформа» (например, в TOAD), то его можно обновить. Для этого используйте кнопку «Обновить».
Диалог «Свойства триггера» будет открыт при создании и редактировании триггера:
В открывшемся диалоге определите следующие атрибуты:
Наименование. Введите наименование триггера;
Идентификатор. Уникальный идентификатор триггера (допускается использование только латинских букв, цифр и знака «_», не допускается использование пробелов);
Условия выполнения. Определяется условие, при котором будет выполняться вычисление, первым задается время выполнения одного или нескольких выбранных событий, для этого необходимо установить соответствующие переключатели:
AFTER. После добавления, удаления или изменения данных;
BEFORE. До вставки, удаления или изменения данных.
Затем выбирается событие, при котором будет срабатывать триггер, для этого необходимо установить флажки:
INSERT. Добавление данных в таблицу;
DELETE. Удаление данных из таблицы;
UPDATE. Изменение данных в таблице;
Примечание. Если выбран какой-либо драйвер Microsoft SQL Server, то переключатель After/Before не влияет на создаваемый триггер, так как в Microsoft SQL Server такое деление отсутствует.
Выполнять для каждой строки. Флажок доступен при выборе драйверов семейства Oracle. Поскольку для них могут быть настроены триггеры, выполняющиеся один раз для каждой измененной записи («for each row») либо триггеры, выполняющиеся один раз для всего измененного множества записей (без «for each row»);
Драйвер. В раскрывающемся списке выберите тип драйвера. Более подробно о доступных драйверах читайте в подразделе «Поддерживаемые СУБД». Драйвер, соответствующий базе данных таблицы, выделяется полужирным начертанием. При открытии диалога он будет выбран по умолчанию. Для каждого драйвера можно задать свой текст, то есть текст триггера, вводимый в соответствующем поле, должен быть привязан к выбранному типу СУБД. Условия выполнения к драйверу не привязываются. При снятии флажка «Условия выполнения» список «Драйвер» и кнопка «Установить для всех СУБД» остаются доступными;
Текст. В данном поле
указывается код триггера на языке SQL. Код указывается в соответствии
с тем синтаксисом SQL, который установлен для выбранной СУБД. Например,
для серверов на базе Microsoft SQL
Server весь код должен указываться между ключевыми словами:
AS
BEGIN
...
END;
А для серверов на базе Oracle
весь код должен указываться между ключевыми словами:
BEGIN
...
END;
Установить текст для всех СУБД. Команда позволяет установить заданный текст для всех СУБД. Если хотя бы для одного драйвера, отличного от текущего, текст триггера непустой, то при нажатии кнопки откроется окно подтверждения. При положительном ответе отображаемый текст триггера будет указываться для всех СУБД, то есть все существующие тексты триггеров будут замещены текущим. Если текст триггеров пустой для всех драйверов и отличается от текущего, запрос на подтверждение действия не выдается.
См. также: