Триггеры
Автор: pasha.3113 • Апрель 15, 2019 • Лабораторная работа • 465 Слов (2 Страниц) • 366 Просмотры
ГУАП
КАФЕДРА № 53
ОТЧЕТ
ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
доцент, канд. техн. наук | А. В. Молотов | |||
должность, уч. степень, звание | подпись, дата | инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ |
ТРИГГЕРЫ |
по курсу: МЕТОДЫ И СРЕДСТВА ПРОЕКТИРОВАНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ И ТЕХНОЛОГИЙ |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № | 5530 | Захаров И. С. | |||
подпись, дата | инициалы, фамилия |
Санкт-Петербург 2016
Задание:
По аналогии с примерами, приведенными в п. 8.2, создать:
— триггеры каждого вида для каждой из операций, для обеспечения активной целостности данных;
— триггеры, реализующие вычисления в БД.
Триггер выводит сообщение, если число записей в таблице Врач превысило заданное количество.
[pic 1]
Рисунок 1 – вывод сообщения
ALTER trigger [dbo].[ПослеВставки] on [dbo].[Врач]
after insert
as
if (select count(КодВрача) from Врач) > 6
print 'Добавлено слишком много врачей'
Следующий триггер выводит сообщение о том, что запрос выполнен успешно. Обновлению подлежит таблица Жанр. Результаты представлены на рисунках 3, 4.
[pic 2]
Рисунок 2 – таблица Жанр до обновления
[pic 3]
Рисунок 3 – таблица Жанр после обновления
[pic 4]
Рисунок 4 – вывод сообщения
ALTER trigger [dbo].[ПослеОбновления] on [dbo].[Врач]
after update
as
print 'Информация успешно обновлена'
select * from Врач
go
Триггер выводит сообщение после удаления записи в таблице Пациент. Пример работы представлен на рисунках 5, 6.
[pic 5]
Рисунок 5 – таблица Жанр после удаления
[pic 6]
Рисунок 6 – вывод сообщения
ALTER trigger [dbo].[ПослеУдаления] on [dbo].[Пациент]
after delete
as
if exists (select * from Пациент where ФИОПациента = 'ААА' and КодПациента = (select КодПациента from deleted))
print 'Вы удалили очень важного пациента'
else
print 'Пациент удален'
Следующий триггер позволяет удалить Врача, если записи он нем не используется в таблице ВрачСпециальность, иначе удаление не будет выполнено.
На рисунке 7 представлена таблица ВрачСпециальность, где существует запись с кодом под номером 3.
[pic 7]
Рисунок 7 – таблица ВрачСпециальность
[pic 8]
Рисунок 8 – вывод сообщения
На рисунке 9 представлена таблица ВрачСпециальность, где не используется КодВрача под номером 5.
[pic 9]
Рисунок 9 – таблица Книги
...