Триггер на изменение оценки

Изменения, вносимые в элементы данных, которые в своей предметной области имеют существенное значение и подлежат усиленному контролю, обычно фиксируются в журналах изменений. В базах данных такие журналы могут представлять собой обычные таблицы и формироваться при помощи триггеров. Триггеры, предназначенные для контроля изменений в важных таблицах, могут быть написаны и на вставку, и на удаление, и на обновление. Однако злоупотреблять этой замечательной возможностью все же не следует, поскольку каждый дополнительный триггер снижает производительность системы.

В нашей демонстрационной базе данных, очевидно, имеет смысл контролировать изменение уже выставленной оценки. Поэтому создадим специальную таблицу change_mark_log (журнал изменений оценок), которая будет содержать столбы:

· name_user (имя пользователя, изменившего оценку)

· date_change (дата изменения оценки)

· cod_st (код студента)

· cod_sub (код предмета)

· old_mark (старая оценка)

· new_mark (новая оценка)

Теперь создадим триггер на обновление:

create trigger mark_change

AFTER UPDATE on marks

for each row

begin

IF :OLD.mark<> :NEW.mark THEN

INSERT INTO change_mark_log

VALUES(user, sysdate, :OLD.cod_st, :OLD.cod_sub, :OLD.mark, :NEW.mark);

END IF;

end;

 









Дата добавления: 2015-08-26; просмотров: 502; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию, введите в поисковое поле ключевые слова и изучайте нужную вам информацию.

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

Если вам понравился данный ресурс вы можете рассказать о нем друзьям. Сделать это можно через соц. кнопки выше.
helpiks.org - Хелпикс.Орг - 2014-2020 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.012 сек.