Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Виды триггеров




Лабораторная работа 8 — Разработка триггеров

Варианты заданий

Содержание отчета

Выполнение лабораторной работы

По аналогии с примерами, приведенными в п. 2, создать в БД ХП, реализующие:

— вставку с пополнением справочников (вставляется информация о студенте, если указанный номер группы отсутствует в БД, запись добавляется в таблицу с перечнем групп);

— удаление с очисткой справочников (удаляется информация о студенте, если в его группе нет больше студентов, запись удаляется из таблицы с перечнем групп);

— каскадное удаление (при наличии условия ссылочной целостности no action перед удалением записи о группе удаляются записи о всех студентах этой группы);

— вычисление и возврат значения агрегатной функции (на примере одного из запросов из задания);

— формирование статистики во временной таблице (например, для рассматриваемой БД — для каждого факультета: количество групп, количество обучающихся студентов, количество изучаемых дисциплин, количество сданных дисциплин, средний балл по факультету).

Самостоятельно предложить и реализовать ПЗ или ХП, демонстрирующие использование конструкций, описанных в п. 1.

Содержание отчета:

— тексты ХП и их вызовов;

— наборы данных, возвращаемые ХП.

Варианты заданий приведены в ПРИЛОЖЕНИИ.


 

Триггер — это процедура, запускаемая автоматически при модификации данных в таблице (insert, update, delete), позволяющая реализовать более сложные проверки, чем это возможно с помощью ограничений на значения данных и ссылочной целостности. Триггер всегда относится к одной таблице и к одной или нескольким из указанных операций. Некоторые SQL-севера (например, ASE) ограничивают количество триггеров тремя, по одному для каждой операции модификации данных.

Триггеры могут быть двух уровней:

(i) уровня строки[14] (for each row) — запускаются для каждой строки таблицы, затронутой изменением;

(ii) уровня оператора — запускаются для каждой из инструкций insert, update, delete, применяемой к таблице.

Триггеры могут быть одного из трех видов:

(i) after — триггер запускается после внесения изменений в таблицу;

(ii) before — триггер запускается до внесения изменений в таблицу[15];

(iii) instead of — триггер запускается вместо внесения изменений в таблицу.

У таблицы может быть только один триггер instead of для каждой из операций модификации данных.

В течение выполнения триггера существуют две таблицы inserted и deleted. Таблица inserted содержит новые версии строк (вставленные оператором insert или измененные оператором update). Таблица deleted содержит старые версии строк (удаленные оператором delete или подлежащие изменению оператором update). Ссылка на указанные таблицы производится так же, как на основные таблицы БД.




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 447; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.