Предоставление информации о текущем состоянии заданных событий.
Максимальное число имён событий, которое можно передать функции, равно 32 (по числу бит в возвращаемом значении).
<Символьный литерал>
может быть UNICODE-литералом.
Аргумент может быть задан <SQL-параметром>
, который должен содержать
спецификацию типа данных параметра.
Значение целого типа INTEGER, представляющее собой битовую маску состояний указанных событий. Например, для двух событий:
если наступило событие1, но не наступило событие2, будет возвращено значение 1;
если наступило событие1 и наступило событие2, будет возвращено значение (1 | 2) = 3.
Запуск в inl файла event1.cmd приводит к созданию таблицы и двух событий на добавление записей в таблицы $$$ATTRI
и $$$SYSRL
.
После запуска файла event2.cmd должны получить следующие результаты:
сначала оба события не наступили, и оба вызова функции GET_EVENTS_STATE
возвращают 0;
затем наступило событие ATTRI
(добавили столбец), вызов GET_EVENTS_STATE('ATTRI','SYSRL')
возвращает 1, а вызов GET_EVENTS_STATE('SYSRL','ATTRI')
возвращает 2;
когда оба события наступили, оба вызова GET_EVENTS_STATE возвращают 3.
event1.cmd inl.exe -t -q -u SYSTEM/MANAGER -f eve1.sql start inl.exe -u SYSTEM/MANAGER -f eve2.sql start inl.exe -u SYSTEM/MANAGER -f eve3.sql event2.cmd inl.exe -t -q -u SYSTEM/MANAGER -f eve0.sql inl.exe -t -q -u SYSTEM/MANAGER -f eve4.sql echo result is 1: inl.exe -t -q -u SYSTEM/MANAGER -f eve0.sql inl.exe -t -q -u SYSTEM/MANAGER -f eve1.sql echo result is 3: inl.exe -t -q -u SYSTEM/MANAGER -f eve0.sql eve0.sql select GET_EVENTS_STATE('ATTRI','SYSRL'); select GET_EVENTS_STATE('SYSRL','ATTRI'); eve1.sql create or replace table test(i int); eve2.sql drop event ATTRI; create event ATTRI as insert on $$$ATTRI; wait event ATTRI; eve3.sql drop event SYSRL; create event SYSRL as insert on $$$SYSRL; wait event SYSRL; eve4.sql alter table test add column j int;