русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Триггеры объектов баз данных

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

  1. если требуется реализовать сложные ограничения на данные;
  2. если необходимо каскадное изменение через связанные таблицы в базе данных;
  3. если база данных денормализована и требуется способ автоматизированного обновления избыточных (дублирующих) данных в нескольких таблицах;
  4. если требуется вывод пользовательских сообщений, журналирование проводимых пользователем операций с данными или сложная обработка ошибок.

Для создания триггера используется конструкция следующего вида:

CREATE TRIGGER {имя триггера}
ON {имя таблицы}
FOR {тип события для обработки}
AS
{текст триггера}

При создании триггера следует задать тип события, вызывающего его срабатывание. Типов события три: INSERT, UPDATE, DELETE. Один и тот же триггер может срабатывать на одно, два или все три события. Конструкция AS и следующие за ней команды языка SQL определяют задачу, которую будет выполнять триггер.

При срабатывании триггера на события INSERT, UPDATE или DELETE создается одна или две псевдотаблицы (также известных как логические таблицы). Существует два типа логических таблиц: INSERTED и DELETED. INSERTED создается в результате события добавления или обновления данных. В ней находится набор добавленных или измененных записей. DELETED создается в результате удаления или обновления данных.

В случае удаления данных в ней находятся удаленные записи, а в случае обновления данных в ней находятся обновленные записи в том состоянии, в каком они были до операции обновления. Для определения того, значение какого поля записей было изменено при обновлении данных, используется конструкция IF UPDATE({имя поля}). UPDATE({имя поля}) возвращает TRUE, если поле было изменено, и FALSE в противном случае. Необходимо обратить внимание на тот факт, что при выполнении триггера таблица, для которой был создан триггер, уже содержит добавленные и измененные записи и не содержит удаленные записи.

Для отмены добавления, удаления или изменения данных в триггере необходимо вызвать оператор отката транзакции ROLLBACK TRAN.

Просмотров: 2029

Вернуться в оглавление:Введение в разработку распределенных информационных систем




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.