ВУЗ:
Составители:
Рубрика:
143
Триггеры создаются с помощью команды CREATE TRIGGER:
CREATE TRIGGER [имя_триггера]
ON имя_таблицы
{ FOR | AFTER | INSTEAD OF} {[INSERT] [,] [UPDATE] [,]
[DELETE]}
[WITH ENCRYPTION]
AS SQL_операторы;
Неправильно написанные триггеры могут привести к серьез-
ным проблемам, таким, например, как появление «мертвых» блоки-
ровок. Триггеры способны длительное время блокировать множест-
во ресурсов, поэтому следует обратить особое внимание на сведе-
ние к минимуму конфликтов доступа.
В большинстве СУБД действуют следующие ограничения:
в теле триггера нельзя использовать операции создания,
удаления и изменения объектов базы данных;
нельзя изменять права доступа к объектам базы данных, т.е.
выполнять команду GRAND или REVOKE;
нельзя создать триггер для представления (VIEW);
триггер не может возвращать никаких значений, он запуска-
ется автоматически сервером и не может связаться самостоятельно
ни с одним клиентом;
внутри триггера не допускается выполнение восстановления
резервной копии БД или журнала транзакций.
Выполнение этих команд не разрешено, так как они не могут быть
отменены в случае отката транзакции, в которой выполняется триггер.
В триггерах могут использоваться хранимые процедуры.
Контрольные вопросы
1. Что такое триггер?
2. Каковы компоненты триггера?
3. Триггеры каких типов существуют?
4. Привести пример использования триггера при работе с БД.
5. Допускается ли внутри триггера применение команд управ-
ления транзакциями?
6. В чем преимущества использования триггеров?
Триггеры создаются с помощью команды CREATE TRIGGER: CREATE TRIGGER [имя_триггера] ON имя_таблицы { FOR | AFTER | INSTEAD OF} {[INSERT] [,] [UPDATE] [,] [DELETE]} [WITH ENCRYPTION] AS SQL_операторы; Неправильно написанные триггеры могут привести к серьез- ным проблемам, таким, например, как появление «мертвых» блоки- ровок. Триггеры способны длительное время блокировать множест- во ресурсов, поэтому следует обратить особое внимание на сведе- ние к минимуму конфликтов доступа. В большинстве СУБД действуют следующие ограничения: в теле триггера нельзя использовать операции создания, удаления и изменения объектов базы данных; нельзя изменять права доступа к объектам базы данных, т.е. выполнять команду GRAND или REVOKE; нельзя создать триггер для представления (VIEW); триггер не может возвращать никаких значений, он запуска- ется автоматически сервером и не может связаться самостоятельно ни с одним клиентом; внутри триггера не допускается выполнение восстановления резервной копии БД или журнала транзакций. Выполнение этих команд не разрешено, так как они не могут быть отменены в случае отката транзакции, в которой выполняется триггер. В триггерах могут использоваться хранимые процедуры. Контрольные вопросы 1. Что такое триггер? 2. Каковы компоненты триггера? 3. Триггеры каких типов существуют? 4. Привести пример использования триггера при работе с БД. 5. Допускается ли внутри триггера применение команд управ- ления транзакциями? 6. В чем преимущества использования триггеров? 143
Страницы
- « первая
- ‹ предыдущая
- …
- 142
- 143
- 144
- 145
- 146
- …
- следующая ›
- последняя »