ВУЗ:
Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 58
- 59
- 60
- 61
- 62
- …
- следующая ›
- последняя »