Основы языка TRANSACT SQL. Казакова И.А. - 134 стр.

UptoLike

Составители: 

133
17. Триггеры
Триггеры это предварительно определенное действие или
последовательность действий, автоматически осуществляемых
при выполнении операций обновления, добавления или удаления
данных.
Исключительно важно в этом определении слово «автомати-
чески». Ни пользователь, ни приложение не могут активизировать
триггер, он выполняется автоматически, когда пользователь или
приложение выполняют с базой данных определенные действия.
Триггер это специальный вид хранимой процедуры. Тригге-
ры обеспечивают проверку любых изменений на корректность,
прежде чем эти изменения будут приняты.
Каждый триггер привязывается к конкретной таблице. Все
производимые им модификации данных рассматриваются как одна
транзакция. В случае обнаружения ошибки или нарушения целост-
ности данных происходит откат этой транзакции. Тем самым внесе-
ние изменений запрещается. Отменяются также все изменения, уже
сделанные триггером.
Создать триггер может только владелец базы данных. Это ог-
раничение позволяет избежать случайного изменения структуры
таблиц, способов связи с ними других объектов и т.п.
17.1. Компоненты триггера
1. Ограничения, для реализации которых создается триггер.
2. Событие, которое будет характеризовать возникновение
ситуации, требующей проверки ограничений. Триггерные события
чаще всего связаны с изменением состояния базы данных и состоят
из вставки, удаления и обновления строк в таблице. События могут
учитываться и дополнительные условия (например, добавление за-
писи только с отрицательным значением).
3. Предусмотренное действие осуществляется за счет выпол-
нения процедуры или последовательности процедур, с помощью ко-
торых реализуется логика, требуемая для реализации ограничений.
Триггер выполняется неявно в каждом случае возникновения
триггерного события. Приведение его в действие называют запус-
ком триггера. С помощью триггеров достигаются следующие цели:
                       17. Триггеры
     Триггеры – это предварительно определенное действие или
последовательность действий, автоматически осуществляемых
при выполнении операций обновления, добавления или удаления
данных.
     Исключительно важно в этом определении слово «автомати-
чески». Ни пользователь, ни приложение не могут активизировать
триггер, он выполняется автоматически, когда пользователь или
приложение выполняют с базой данных определенные действия.
     Триггер – это специальный вид хранимой процедуры. Тригге-
ры обеспечивают проверку любых изменений на корректность,
прежде чем эти изменения будут приняты.
     Каждый триггер привязывается к конкретной таблице. Все
производимые им модификации данных рассматриваются как одна
транзакция. В случае обнаружения ошибки или нарушения целост-
ности данных происходит откат этой транзакции. Тем самым внесе-
ние изменений запрещается. Отменяются также все изменения, уже
сделанные триггером.
     Создать триггер может только владелец базы данных. Это ог-
раничение позволяет избежать случайного изменения структуры
таблиц, способов связи с ними других объектов и т.п.

               17.1. Компоненты триггера
     1. Ограничения, для реализации которых создается триггер.
     2. Событие, которое будет характеризовать возникновение
ситуации, требующей проверки ограничений. Триггерные события
чаще всего связаны с изменением состояния базы данных и состоят
из вставки, удаления и обновления строк в таблице. События могут
учитываться и дополнительные условия (например, добавление за-
писи только с отрицательным значением).
     3. Предусмотренное действие осуществляется за счет выпол-
нения процедуры или последовательности процедур, с помощью ко-
торых реализуется логика, требуемая для реализации ограничений.
     Триггер выполняется неявно в каждом случае возникновения
триггерного события. Приведение его в действие называют запус-
ком триггера. С помощью триггеров достигаются следующие цели:


                              133