Данные технологии позволяют использовать триггеры INSERT,UPDATE, DELETEвместе, что повышает производительность БД.
пример: допустим, у нас есть таблица «Sotrydnik» БД “Ludi”. Необходимо создать триггер, который будет запрещать вставлять данные о сотруднике с окладом менее 20000 рублей и запрещать удалять записи о сотрудниках, оклад которых превышает 50000 рублей.
1. Открыть SQL Server Management Studio. В окне Object ExplorerразвернутьпапкуБД «Ludi” - Programmability – Triggers.
2. Щелкаем правой кнопкой мыши на папке Triggersи выбираем командуNewTriggers.
3. В нашем случае триггер будет выглядеть следующим образом:
CREATE TRIGGER primer5
ON sotrydnik
AFTER INSERT,DELETE
AS
BEGIN
SET NOCOUNT ON;
begin
if (select oklad from inserted)<'20000'
rollback
print'Нельзя вставлять запись о сотруднике, с окладом менее 20 000 рублей’
end
begin
if (select oklad from deleted)>='50000'
print'Нельзя удалять запись о сотрудике, оклад которого более 50000'
rollback
END
END
GO
4. Выполняем триггер, нажав на кнопку , на панели инструментов. В результате в нижней части экрана мы увидим строчку «Command(s)completedsuccessfully».
5. Далее сохраняем триггер, щелкнув по кнопке Save
6. Чтобы протестировать новый триггер, необходимо создать запрос, нажав на кнопку New Query , следующего содержания
USE LUDI
DELETE SOTRYDNIK
WHERE OKLAD=’55000’
Выполняем запрос, щелкнув по кнопке , в нижней части окна увидим сообщение об ошибке:
Нельзя удалять запись о сотруднике, с окладом более 50000’
Создадим запрос, нажав на кнопку New Query , следующего содержания