Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа № 5

.docx
Скачиваний:
1
Добавлен:
18.11.2022
Размер:
85.92 Кб
Скачать

Оглавление

Использование триггеров для улучшения безопасности 1

Использование триггеров для улучшения безопасности

Для анализа экономической деятельности менеджер по продажам использует данные из таблицы «Рейс», в которой хранятся записи о всех составленных рейсах. Для предотвращения фальсификации данных о составленных рейсах и, как следствие, данных о продажах необходимо разработать триггеры, которые не позволят диспетчеру, который составляет рейсы, изменить данные о прошедших рейсах либо внести запись о рейсе с прошедшей датой отправления.

Код триггера для изменения:

CREATE TRIGGER [disp].[Рейсы]

ON [disp].[Рейс]

for update,delete

AS

if exists(select * from deleted where [Дата отправления]<GETDATE())

begin

raiserror('ИЗМЕНЕНИЕ ПРОШЕДШИХ РЕЙСОВ ЗАПРЕЩЕНО',16,3)

rollback;

END

GO

Код триггера для добавления:

CREATE TRIGGER [disp].[Добавление]

ON [disp].[Рейс]

for insert

AS

if exists(select * from inserted where [Дата отправления]<GETDATE())

begin

raiserror('ДОБАВЛЕНИЕ РЕЙСА С ПРОШЕДЕШЕЙ ДАТОЙ ОТПРАВЛЕНИЯ ЗАПРЕЩЕНО',16,3)

rollback;

END

GO

При попытке изменения прошедших рейсов или внесения записи о рейсе с прошедшей датой отправления будет выведено сообщение об ошибке.