Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4_3 Триггеры и хранимые процедуры.doc
Скачиваний:
3
Добавлен:
13.11.2019
Размер:
104.45 Кб
Скачать

3. Sql для процедур и триггеров InterBase

SQL для процедур и триггеров в InterBase представляет собой законченный язык программирования для манипулирования данными.

Язык включает:

  • Инструкции манипулирования данными SQL: добавление, модификация, удаление из базы, выборка данных из базы в список переменных;

  • Операторы SQL и выражения, включая функции пользователя (UDF);

  • Расширение SQL, включающее оператор присваивания, операторы управления последовательностью вычислений, возможность использования собственных и контекстных переменных, операторы генерации событий и исключений, а также команды обработки ошибок.

При работе с данными используются следующие операции:

    • операция конкатенации (объединения) для строковых данных

    • арифметические операции

    • операции сравнения

    • логические операции.

Хотя хранимые процедуры и триггеры используются различным образом и в разных целях, они базируются на одном и том же языке. И хранимые процедуры, и триггеры могут использовать любые конструкции языка, за исключением следующих:

      • Контекстные переменные допустимы только в триггерах;

      • Входные и выходные параметры, а также инструкции SUSPEND и EXIT, которые возвращают значения, которые возвращают значения, применимы только в хранимых процедурах.

3.1 Оператор присваивания

Синтаксис:

Переменная = выражение;

3.2 Оператор объявления переменных declare

Оператор DECLARE применяется в хранимых процедурах и триггерах и размещается в начале их тела непосредственно перед скобкой BEGIN, за которой размещаются все исполнимые операторы. Все используемые переменные должны быть объявлены. Оператор объявления завершается ";". Одним оператором может быть объявлена только одна переменная, и объявления имеют смысл только внутри хранимой процедуры или триггера.

Синтаксис:

DECLARE VARIABLE <переменная> <тип данных>;

3.3 Оператор генерации исключения

Генерирует сообщение об ошибке (исключение). Применяется в хра­нимых процедурах и триггерах.

Синтаксис:

EXCEPTION имя_исключения;

Имя_исключения - имя генерируемого исключения. Исключение с данным именем должно быть предварительно создано в базе командой CREATE EXCEPTION.

3.4 Оператор вызова процедуры

Оператор осуществляет вызов хранимой процедуры. Применяется в хранимых процедурах и триггерах.

Синтаксис:

EXECUTE PROCEDURE <название> [<список параметров>]

[RETURNING_VALUES <список параметров>] ;

<название> - имя вызываемой процедуры. Сама процедура должна быть пред­варительно создана в базе командой CREATE PROCEDURE.

<список параметров>, заданный после имени про­цедуры - это список входных параметров процедуры (если проце­дура не требует параметров, то может отсутствовать). Отдельные пара­метры могут быть константами или переменными. Перед именем пере­менной ставится ":", кроме случаев использования контекстных переменных NEW и OLD. <список параметров>, заданный после RETURNING_VALUES- список возвращаемых процедурой значений (если процедура возвращает значения). Перед именем возвращаемых значении ставится ":". В триггерах и процедурах использование вызовов других процедур аналогично использованию подпрограмм в традиционных алгоритмических языках.

Замечание! При вызове из прикладных программ на базовых языках синтаксис вызова отличается от приведенных.