русс | укр

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

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

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

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


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

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


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


Рассмотрим более подробно синтаксис создания | изменения триггеров, причем следует отметить сходство синтаксиса команды CREATE | ALTER при создании | изменении для всех видов триггеров:

1. ON имя_объекта. Эта секция команды показывает для какого объекта(ов) создается триггер. В случае DML триггеров необходимо указать или имя таблицы (нельзя указывать локальные или глобальные временные таблицы), или имя представления, причем для представления можно создать только INSTEAD OF триггер (выполняется вместо выбранного действия(й)). Для DDL триггеровв качестве имени объектаможно указать либо уровень базы данных (DATABASE), либо уровень сервера БД (ALL SERVER). В зависимости от выбранного уровня будут доступны разные события (группы), для которых можно создать триггер. Для LOGON триггеровв качестве имени объектаможно указать только уровень сервера БД (ALL SERVER).

2. WITH список_опций. Использование опции ENCRIPTION приводит к тому, что текст команды создания триггера шифруется, что не позволяет его просматривать. Эта опция не может быть указана для CLR триггеров (триггеров, написанных на языке, поддерживающем технологию .NET Framework).

3. EXEC[UTE] AS. Определяет контекст выполнения для триггера. Возможны следующие опции: CALLER (значение по умолчанию) – показывает, что все команды в модуле (триггере) выполняются от имени пользователя, действия которого привели к вызову триггера. Следует отметить, что этот пользователь должен иметь соответствующие права на доступ не только к триггеру, но и ко всем объектам, с которыми триггер работает во время своего выполнения. SELF – эквивалентно указанию имени пользователя, создавшего или изменившего данный триггер. OWNER – показывает, что все команды данного триггера выполняются в контексте (от имени) пользователя, являющегося владельцем триггера. Если триггер не имеет владельца, то им является тот пользователь, который является владельцем схемы данных, в которую входит триггер. Эта опция не может быть использована для DDL и LOGON триггеров. ИМЯ_ПОЛЬЗОВАТЕЛЯ | LOGIN_NAME – указывает имя пользователя (для LOGON триггеров необходимо использовать имя login(имя, под которым пользователь соединяется с СУБД)) от имени которого будут выполняться команды триггера. Этот пользователь должен иметь соответствующие права доступа к используемым объектам.



4. {FOR [AFTER] | INSTEAD OF} – показывает, когда будет выполнен триггер: после действия, на которое триггер реагирует (FOR [AFTER], причем слово AFTER является необязательным) или вместо этого действия (INSTEAD OF). Следует отметить, что DML триггеры для представлений могут быть только INSTEAD OF, в то время как DDL и LOGON триггеры могут выполнять только после действия (FOR [AFTER]).

5. ДЕЙСТВИЕ показывает в каком случае(ях) триггер будет выполняться. Для DML триггеровдействием может быть выполнение одной из команд INSERT, UPDATE, DELETE, причем триггер может реагировать как на одну из перечисленных команд, так и на любую пару команд или даже на все команды. Для DDL триггеровуказывается идентификатор группы событий (нумерация групп проставлена с учетом вложенности групп) или события (Табл.1):

Табл. 1. Перечень идентификаторов групп событий



<== предыдущая лекция | следующая лекция ==>
Теоретическая часть. | DDL тригеров.


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


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

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

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


 


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

 
 

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

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