Триггеры – это методы, с помощью которых разработчик может обеспечить целостность БД. Другими словами, триггер – это особый вид хранимой процедуры, которая активизируется при попытке изменения данных в таблице, для которой определен триггер. Триггеры определяются для конкретных таблиц. Триггеры позволяют обеспечивать целостность данных, не полагаясь на прикладное программное обеспечение.
SQL Server применяет правила проверки и установки по умолчанию до записи информации в БД. Эти средства представляют собой предварительный фильтр для информации и могут предотвратить определенные действия по отношению к данным.
Триггер – это постфильтр, применяемый после воздействия правил и установок по умолчанию. Триггер – это специальный тип хранимой процедуры, которая выполняется после операций добавления, обновления и удаления (INSERT, UPDATE, DELETE) в данной таблице. Если триггер вызывает ошибку в запросе, SQL Server отказывается от обновления данных в таблице и возвращает сообщение об ошибке. Хотя триггер – это разновидность хранимой процедуры, его нельзя вызвать командой из программы. Он реагирует только на событие, для которого определен.
SQL Server рассматривает триггер как единое целое – как одну транзакцию, которая либо фиксируется, либо откатывается, вне зависимости от наличия соответствующих операторов в теле триггера.
Триггеры незначительно влияют на производительность сервера и часто используются для усиления приложений.