Оповещение о событии
Функция
Определение оператора включения события в очередь событий.
Спецификация
::=
Общие правила
-
Существует одна, общая для всех событий, очередь.
-
Включить событие в очередь (оповестить о его наступлении) можно «вручную» (команда
SET EVENT
) или автоматически (при наступлении в БД описанного события). -
СУБД ЛИНТЕР автоматически включает событие в очередь событий (независимо от того, была ли транзакция завершена оператором
COMMIT
илиROLLBACK
) в следующих случаях:-
если событие создано с использованием
< запроса выборки >
, оно ставится в очередь в том случае, когда указанный запрос выдает непустое множество ответов. Выполнение запроса происходит каждый раз после операции реального обновления указанных в нем таблиц; -
если событие создано с указанием типов операций, оно ставится в очередь после выполнения любой из указанных операций с непустым количеством обработанных строк указанной таблицы;
-
в обоих случаях, если событие уже находится в очереди, то повторно оно туда не ставится. Если оно было в очереди, и
< запрос выборки >
дал пустой ответ, событие удаляется из очереди.
-
-
Поставить событие в очередь может:
-
его создатель;
-
создатель БД;
-
пользователь с привилегией
RESOURCE
(если событие неPRIVATE
).
-