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