double arrow

ОПЕРАТОРЫ SQL INSERT, UPDATE, SELECT, DELETE


ОПЕРАТОР ГЕНЕРАЦИИ СОБЫТИЯ POST_EVENT

ОПЕРАТОР ЦИКЛА WHILE

Оператор цикла WHILE обеспечивает выполнение оператора, ука­занного после ключевого слова DO пока указанное после WHILE условие истинно. Цикл WHILE может использоваться в хранимых процедурах и триггерах.

Синтаксис:

while ( <condition>) DO <compound_statement>

WHILE ... DO – оператор выполнения цикла, который повторяет опера­тор или блок <compound_statement>, указанный после DO, пока условие <condition> истинно. Условие проверяется в начале каждого цикла. В качестве примера рассмотрим вычисление факториала.

S = 1;

WHILE (I > 0) DO

BEGIN

S = S * I;

I = I - 1;

END

Оператор POST_EVENT используется для генерации события, кото­рое может быть в дальнейшем обработано в приложениях.

Сама обработка событий в InterBase строится по следующей схеме.

  1. Приложение выдает команду EVENT INIT request_name (event_namel [, event_name2 ...]);

По этой команде создается список событий request_name, со­держащий имена событий event_namel ,event_name2 ...

  1. То же или другое приложение выдает командуEVENT WAITrequest_name;

По этой команде приложение приостанавливается и ожидает наступления одного из событий в списке request_name.

  1. Само событие генерируется внутри триггера или хранимой процедуры командой POST_EVENT.После того как такое со­бытие произошло, приложение, ожидающее событие, получает соответствующее сообщение и продолжает свою работу. Такой механизм позволяет приложениям обрабатывать различные специфические ситуации при работе с базой данных.

Внутри триггеров и хранимых процедур реализуется только коман­да POST_EVENT.

Синтаксис:

POST_EVENT<event_name>;

Параметр <event_name> может быть либо символьным литералом в кавычках, либо строковой переменной.

Замечание. Имена переменных в хранимых процедурах не должны предваряться символом ":" нигде, кроме как в командах SELECT, INSERT, UPDATE, DELETE, что позволяет отличать их от имен столбцов.

При выполнении процедуры команда POST_EVENT сообщает дис­петчеру событий о наступлении события. Диспетчер событий следит за приложениями, ждущими событий, и извещает об их наступлении.

post_event "Oh_oh_oh" ;

или

ABC = "Oh_oh_oh"; POST_EVENT ABC;

Внутри хранимых процедур и триггеров могут использоваться стан­дартные команды SQL: INSERT, UPDATE, SELECT, DELETE. Единст­венной особенностью этих команд внутри процедур и триггеров является то, что в них могут использоваться в качестве параметров локальные пе­ременные процедур. Для того чтобы отличать локальные переменные от столбцов таблиц в командах INSERT, UPDATE, SELECT, DELETE, имена локальных переменных предваряются символом ":".

Кроме того, для помещения результатов выборки в локальные пере­менные к команде SELECT добавляется опция INTO : var [,: var ...].


Сейчас читают про: