русс | укр

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

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

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

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


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

Часть 2. Реализация триггеров в среде MS SQL Server


Дата добавления: 2013-12-24; просмотров: 1552; Нарушение авторских прав


AS

<sql- код триггера>

 

Или

CREATE TRIGGER имя_триггера

BEFORE | AFTER <триггерное_событие>

ON <имя_таблицы>

[REFERENCING <список_старых_или_новых_псевдонимов>]

[FOR EACH { ROW | STATEMENT }]

[WHEN (условие_триггера)]

 

< sql- код триггера>

Триггерные события состоят из вставки, удаления и обновления строк в таблице.

В последнем случае для триггерного события можно указать конкретные имена столбцов таблицы.

Момент запуска триггера определя­ется с помощью ключевых слов BEFORE (триггер запускается до выполне­ния связанных с ним событий) или AFTER (после их выполнения).

 

Выполняемые триггером действия задаются для каждой строки (FOR EACH ROW), охваченной данным событием, или только один раз для каж­дого события (FOR EACH STATEMENT).

 

Обозначение <список_старых_или_новых_псевдонимов> от­носится к таким компонентам, как старая или новая строка (OLD / NEW) либо старая или новая таблица (OLD TABLE / NEW TABLE).

Ясно, что старые значения не применимы для событий вставки, а новые - для со­бытий удаления.

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

Присущие триггеру недостатки:

• сложность: при перемещении некоторых функций в базу данных ус­ложняются задачи ее проектирования, реализации и администриро­вания;

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



• влияние на производительность: перед выполнением каждой ко­манды по изменению состояния базы данных СУБД должна прове­рить триггерное условие с целью выяснения необходимости запуска триггера для этой команды. Выполнение подобных вычислений сказывается на общей производительности СУБД, а в моменты пи­ковой нагрузки ее снижение может стать особенно заметным. Оче­видно, что при возрастании количества триггеров увеличиваются и накладные расходы, связанные с такими операциями. Неправильно написанные триггеры могут привести к серьезным проблемам, таким, например, как появление «мертвых» блокировок.

Триггеры способны длительное время блокировать множество ресурсов, поэтому следует обратить особое внимание на сведение к минимуму кон­фликтов доступа.

В СУБД MS SQL Server для создания или изменения триггера используется следующий опера­тор:

{CREATE | ALTER} TRIGGER имя_триггера

ON{имя_таблицы | имя_просмотра }

[WITH ENCRYPTION ]

{

{ {FOR | AFTER | INSTEAD OF }

{ [DELETE] [,] [ INSERT] [,] [ UPDATE] }

[ WITH APPEND ]

[ NOT FOR REPLICATION ]



<== предыдущая лекция | следующая лекция ==>
Часть 1. Определение триггера в стандарте языка SQL | Типы триггеров


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


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

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

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


 


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

 
 

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

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