Проектирование и реализация баз данных и клиентских приложений в среде MS Visual Studio.NET. Макурин Ю.Д - 60 стр.

UptoLike

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

60
3.7 Проектирование и программная реализация триггеров
Триггер базы данных сервера SQL Server 2005 – это специальный тип
хранимых процедур, которые запускаются сервером автоматически при
выполнении тех или иных действий с данными таблицы. Триггеры различаются
по типу команд, на которые они реагируют:
INSERT TRIGGER – запускаются при попытке вставить данные с
помощью команды INSERT;
UPDATE TRIGGER – запускаются при попытке изменения данных
с
помощью команды UPDATE;
DELETE TRIGGER – запускаются при попытке удаления данных с
помощью команды DELETE.
Параметры FOR, AFTER и INSTEAD OF, указываемые при создании
триггера, определяют его поведение следующим образом:
FOR – запуск триггера при выполнении заданной в этом списке команды;
AFTER – запуск триггера после успешного выполнения команд списка;
INSTEAD OF – триггеры вызывается вместо выполнения команд списка.
Можно определить несколько AFTER-триггеров
для каждой операции
INSERT, UPDATE и DELETE. По умолчанию все триггеры являются AFTER-
триггерами. Триггеры нельзя создавать для временных или системных таблиц.
Команда создания триггера должна быть первой в пакете и применяться
только к одной таблице. Ее формат следующий:
CREATE TRIGGER Имя триггера
ON {Имя таблицы | Имя представления}
{FOR | AFTER | INSTEAD OF}
{[INSERT] | [UPDATE] | [DELETE]}
AS
SQL-операторы -- тело триггера
Команда ALTER TRIGGER позволяет изменить
параметры и тело
триггера. С помощью команды DROP TRIGGER можно удалить любой триггер
базы данных. Переименовать триггер можно системной хранимой процедурой
sp_rename, а получить информацию о триггере можно при помощи системных
хранимых процедур sp_helptext и sp_helptrigger.
Внутри триггера допускается использование любых команд языка Transact-
SQL с некоторыми ограничениями. Также допускается и вызов хранимых
процедур, в том
числе системных.
Сценарии создания триггеров для всех команд и всех видов запуска
следующие:
--1 Триггер OnCriationForDeleteTrigger запускается до команды
-- удаления данных DELETE
CREATE TRIGGER OnCriationForDeleteTrigger
  3.7 Проектирование и программная реализация триггеров
      Триггер базы данных сервера SQL Server 2005 – это специальный тип
хранимых процедур, которые запускаются сервером автоматически при
выполнении тех или иных действий с данными таблицы. Триггеры различаются
по типу команд, на которые они реагируют:
     INSERT TRIGGER – запускаются при попытке вставить данные с
помощью команды INSERT;
     UPDATE TRIGGER – запускаются при попытке изменения данных с
помощью команды UPDATE;
      DELETE TRIGGER – запускаются при попытке удаления данных с
помощью команды DELETE.
       Параметры FOR, AFTER и INSTEAD OF, указываемые при создании
триггера, определяют его поведение следующим образом:
      FOR – запуск триггера при выполнении заданной в этом списке команды;
      AFTER – запуск триггера после успешного выполнения команд списка;
      INSTEAD OF – триггеры вызывается вместо выполнения команд списка.
       Можно определить несколько AFTER-триггеров для каждой операции
INSERT, UPDATE и DELETE. По умолчанию все триггеры являются AFTER-
триггерами. Триггеры нельзя создавать для временных или системных таблиц.
       Команда создания триггера должна быть первой в пакете и применяться
только к одной таблице. Ее формат следующий:
      CREATE TRIGGER Имя триггера
      ON {Имя таблицы | Имя представления}
      {FOR | AFTER | INSTEAD OF}
      {[INSERT] | [UPDATE] | [DELETE]}
      AS
      SQL-операторы                      -- тело триггера
       Команда ALTER TRIGGER позволяет изменить параметры и тело
триггера. С помощью команды DROP TRIGGER можно удалить любой триггер
базы данных. Переименовать триггер можно системной хранимой процедурой
sp_rename, а получить информацию о триггере можно при помощи системных
хранимых процедур sp_helptext и sp_helptrigger.
       Внутри триггера допускается использование любых команд языка Transact-
SQL с некоторыми ограничениями. Также допускается и вызов хранимых
процедур, в том числе системных.
       Сценарии создания триггеров для всех команд и всех видов запуска
следующие:
      --1 Триггер OnCriationForDeleteTrigger запускается до команды
      -- удаления данных DELETE
      CREATE TRIGGER OnCriationForDeleteTrigger

                                     60