русс | укр

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

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

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

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


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

Теоретическая часть.


Дата добавления: 2015-07-09; просмотров: 552; Нарушение авторских прав


Триггер – это хранимая процедура, которая начинает свою работу в случае выполнения действия, на которое триггер настроен. Триггеры применяются для решения задач поддержания целостности (корректности) данных, когда по каким-либо причинам невозможно (неудобно) использовать ограничения FOREIGN KEY (или ограничений на значения столбцов), и безопасности, когда, например, недопустимы какие-либо изменения в данных. Триггеры бывают нескольких типов: DML, DDL и LOGON. DML триггеры могут срабатывать при выполнении (после выполнения или вместо выполнения) команд INSERT, UPDATE и DELETE для таблиц или представлений. Этот тип триггеров присутствовал и в MS SQL Server 2000. DDL триггеры могут срабатывать при выполнении после выполнения команд CREATE, ALTER, DROP, GRANT, DENY, REVOKE, UPDATE STATISTICS и некоторых системных процедур. LOGON триггеры срабатывают после установки соединения с MS SQL Server. DDL и LOGON триггеры можно использовать только в MS SQL Server 2005, если уровень совместимости для БД установлен в значение 90.

Создание | изменение триггеров.

Рассмотрим общий вид создания / изменения DML триггера:

 

CREATE TRIGGER [пространство_имен.]название_триггера

ON {название_таблицы | название_представления}

[WITH

{ ENCRYPTION |

EXEC[UTE] AS {CALLER | SELF | OWNER | ‘имя_пользователя’}

}[,]

]

{ FOR [AFTER] | INSTEAD OF}

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

[WITH APPEND]

[NOT FOR REPLICATION]

AS

{

Перечень_команд_SQL |

EXTERNAL NAME имя_сборки.имя_класса.название_метода [;]

}

 

Следует отметить, что под термином «пространство_имен» (schema) подразумевается выделенное пространство имен, являющееся по сути «контейнером» для объектов. Пользователи могут владеть схемами, иметь права на доступ к схеме, но не являются синонимом понятия схемы, в отличие от предыдущих версий MS SQL Server. В случае изменения уже существующего триггера вместо команды CREATE необходимо использовать команду ALTER, причем при задании имени триггера использование компоненты пространство_имен становится обязательным.



Рассмотрим общий вид создания / изменения DDL и LOGON триггеров:

 

DDL триггер:

CREATE TRIGGER название_триггера

ON { ALL SERVER | DATABASE }

[WITH

{ ENCRYPTION |

EXEC[UTE] AS {CALLER | SELF | {‘имя_пользователя’ | ‘login_name’}}

}[,]

]

{ FOR [AFTER]}

{тип_события | группа событий}[,]

AS

{

Перечень_команд_SQL |

EXTERNAL NAME имя_сборки.имя_класса.название_метода [;]

}

 

 

LOGON триггер:

CREATE TRIGGER название_триггера

ON ALL SERVER

[WITH

{ ENCRYPTION |

EXEC[UTE] AS {CALLER | SELF ‘login_name’}

}[,]

]

{ FOR [AFTER]} LOGON

AS

{

Перечень_команд_SQL |

EXTERNAL NAME имя_сборки.имя_класса.название_метода [;]

}

 



<== предыдущая лекция | следующая лекция ==>
Задание | В случае изменения уже существующего DDL или LOGON триггера вместо команды CREATE необходимо использовать команду ALTER.


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


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

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

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


 


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

 
 

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

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