Разработка и сопровождение баз данных в среде СУБД MS SQL Server 2000. Сивохин А.В - 83 стр.

UptoLike

Триггеры (triggers) в SQL Server 2000 представляют собой набор команд
Transact-SQL, выполняемых автоматически при осуществлении тех или иных
модификаций данных в таблице. Физически триггеры являются ни чем иным, как
хранимыми процедурами специального типа. Каждый триггер связан с конкретной
таблицей и запускается сервером автоматически каждый раз, когда пользователи
пытаются произвести вставку, изменение или удаление данных.
Триггер получает
всю информацию о выполняемых пользователем изменениях в таблице. Разработчик
реализовывает в триггере необходимые проверки и изменения данных в других
таблицах базы данных.
Когда пользователь начинает изменение данных, сервер автоматически
начинает транзакцию, в которой и выполняется триггер. В теле транзакции
разработчик может реализовывать произвольные алгоритмы, которые могут
выполнять как проверку
, так и изменения данных. В конце концов, работа триггера
сводится либо к фиксации, либо к откату транзакции, которая осуществляет
изменение данных. Если выполняется откат транзакции, то попытка пользователя
изменить данные отменяется. При этом также отменяются все исправления,
сделанные самим триггером в различных таблицах (если они выполнялись). При
фиксации транзакции производится
как фиксирование изменений, выполненных
пользователем, так и изменений, сделанных самим триггером.
Триггеры различаются по типу команд, на которые они реагируют:
INSERT TRIGGERзапускаются при попытке вставить данные с помощью
команды INSERT;
UPDATE TRIGGERзапускаются при попытке изменения данных с
помощью команды UPDATE;
DELETE TRIGGERзапускаются при попытке удаления данных с
помощью команды DELETE.
Триггеры
не запускаются при выполнении команд обработки текстовых блоков,
таких как WRITETEXT, UPDATETEXT, READTEXT.
Параметры FOR, AFTER и INSTEAD OF, указываемые при создании триггера,
определяют его поведение следующим образом:
FORзапуск триггера при выполнении заданной в этом списке команды;
    Триггеры (triggers) в SQL Server 2000 представляют собой набор команд
Transact-SQL, выполняемых автоматически при осуществлении тех или иных
модификаций данных в таблице. Физически триггеры являются ни чем иным, как
хранимыми процедурами специального типа. Каждый триггер связан с конкретной
таблицей и запускается сервером автоматически каждый раз, когда пользователи
пытаются произвести вставку, изменение или удаление данных. Триггер получает
всю информацию о выполняемых пользователем изменениях в таблице. Разработчик
реализовывает в триггере необходимые проверки и изменения данных в других
таблицах базы данных.
    Когда пользователь начинает изменение данных, сервер автоматически
начинает транзакцию, в которой и выполняется триггер. В теле транзакции
разработчик может реализовывать произвольные алгоритмы, которые могут
выполнять как проверку, так и изменения данных. В конце концов, работа триггера
сводится либо к фиксации, либо к откату транзакции, которая осуществляет
изменение данных. Если выполняется откат транзакции, то попытка пользователя
изменить данные отменяется. При этом также отменяются все исправления,
сделанные самим триггером в различных таблицах (если они выполнялись). При
фиксации транзакции производится как фиксирование изменений, выполненных
пользователем, так и изменений, сделанных самим триггером.
    Триггеры различаются по типу команд, на которые они реагируют:
    • INSERT TRIGGER – запускаются при попытке вставить данные с помощью
      команды INSERT;
    • UPDATE TRIGGER – запускаются при попытке изменения данных с
      помощью команды UPDATE;
    • DELETE TRIGGER – запускаются при попытке удаления данных с
      помощью команды DELETE.
    Триггеры не запускаются при выполнении команд обработки текстовых блоков,
таких как WRITETEXT, UPDATETEXT, READTEXT.
    Параметры FOR, AFTER и INSTEAD OF, указываемые при создании триггера,
определяют его поведение следующим образом:
    • FOR – запуск триггера при выполнении заданной в этом списке команды;