Комментарий
Комментарий – произвольный текст, который может быть размещен в любом месте процедуры или триггера.
Синтаксис:
/* текст. */
Текст комментария может занимать несколько строк.
В следующей таблице дана краткая сводка операторов SQL для процедур и триггеров.
Команда | Описание |
BEGIN... END | Операторные скобки, задающие составной оператор (блок). BEGIN – ключевое слово, идентифицирующее начало блока; END – ключевое слово, идентифицирующее конец блока. Внутри блока может быть любое количество операторов. Ни после BEGIN, ни после END точка с запятой не ставится |
variable = expression | Оператор присваивания. Задает новое значение (выражение expression) локальной, контекстной переменной или полю базы данных |
/* comment_text */ | Комментарий программиста. Комментарий может занимать несколько строк. На выполнение программы не влияет |
EXCEPTION exception_name | Инициирует исключение. Исключение – определяемая пользователем ошибка. Исключение возвращает вызвавшему приложению сообщение об ошибке, если оно не обработано инструкцией WHEN |
EXECUTE PROCEDURE proc_name [LIST_var] [returning_values LIST_var] | Выполняет хранимую процедуру. proc_name – имя процедуры, за которым указывается список параметров процедуры и список возвращаемых значений (после ключевого слова RETURNING_VALUES). Входные и выходные параметры представляют собой локальные переменные |
FOR <select_statement> DO <compound_statement> | Задает цикл выполнения оператора или блока (группы операторов в операторных скобках BEGIN-END) для всех строк получаемых по запросу, определенному конструкцией <select_statement>. <select_statement> – обычная команда SELECT, за исключением обязательной здесь опции INTO. Поле INTO указывает список локальных переменных, в которые помещаются данные из очередной выбранной по запросу строки |
<compound_statement> | Простой оператор или блок (группа операторов в операторных скобках BEGIN-END) |
IF (<condition>) THEN <compound_statement> [ELSE<compound_statement>] | Проверяет условие <condition> и в зависимости от его истинности выполняет либо оператор (блок), следующий за ключевым словом THEN в случае истинности условия, либо оператор (блок), следующий за ключевым словом ELSE в случае ложности условия. Конструкция ELSE является необязательной |
NEW.column | Контекстная переменная. Указывает на значение, которое предполагается присвоить полю базы данных (используется в триггерах операций вставки и обновления) |
OLD.column | Контекстная переменная. Указывает на значение, которое имело поле базы данных до выполнения над ним операций удаления или обновления (используется в триггерах операций вставки и обновления) |
POST_EVENT event_name | Инициирует событие event_name |
WHILE (<condition>) DO <compound_statement> | Задает цикл выполнения оператора или блока (группы операторов в операторных скобках BEGIN-END) <compound_statement> до тех пор, пока истинно условие <condition>. Если условие изначально ложно, то цикл не выполняется ни разу |
WHEN {LIST_<error>]|Any} DO <compound_statement> | Оператор обработки сообщений об ошибках. Если происходит одно из списка событий <error>, то выполняется оператор (блок) <compound_statement>. Если необходимо использовать оператор WHEN, то он должен быть помещен в конце блока, непосредственно перед операторной скобкой END. Конструкция <еггог> имеет следующий вид: EXCEPTION exception_name, где ехсер-tion_name – имя исключения; SQLCODE errcode, где errcode код ошибки SQL; GDSCODE number, где number номер ошибки InterBase; ANY – любые исключения или ошибки |
В базе данных могут храниться не только данные и их описания, но и программы, обеспечивающие работу с ними. К таким программам относятся триггеры и хранимые процедуры.