Поделиться через


Триггеры (визуальные инструменты баз данных)

Визуальные инструменты баз данных поддерживают DML-триггеры. DML-триггеры вызываются при возникновении событий языка обработки данных (DDL) в базе данных. К DML-событиям относятся инструкции INSERT, UPDATE или DELETE, изменяющие данные в указанной таблице или представлении. DML-триггеры могут обращаться к другим таблицам и содержать сложные инструкции Transact-SQL. Триггер и инструкция, при выполнении которой он срабатывает, считаются одной транзакцией, которую можно откатить назад внутри триггера. При обнаружении серьезной ошибки (например, в случае нехватки места на диске) вся транзакция автоматически откатывается назад.

Связанные элементы

DML-триггеры удобно использовать в следующих случаях:

  • Для каскадных изменений в связанных таблицах базы данных; однако эти изменения можно более эффективно выполнить при помощи каскадных ограничений ссылочной целостности.

  • Для предотвращения случайных или неверных операций INSERT, UPDATE и DELETE и реализации других ограничений, более сложных чем ограничения, определенные при помощи ограничений CHECK.

  • В отличие от ограничений CHECK, DML-триггеры могут ссылаться на столбцы других таблиц. Например, триггер может использовать инструкцию SELECT для сравнения вставленных или обновленных данных и выполнения других действий, например изменения данных или отображения пользовательского сообщения об ошибке.

  • Чтобы оценить состояние таблицы до и после изменения данных и предпринимать действия на основе выявленных различий.

  • Использование нескольких DML-триггеров одинакового типа (INSERT, UPDATE или DELETE) для таблицы позволяют предпринять несколько различных действий в ответ на одну инструкцию изменения данных.

См. также

Другие ресурсы

Работа с триггерами

Работа с таблицами в конструкторе таблиц

Общие сведения о работе с ограничениями