Переменные

  • Часть 1
  • | 2
  • | 3

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

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

DECLARE [VARIABLE] имя_локальной_переменной <тип_переменной> [{ = | DEFAULT} <значение>];,

где

<тип_переменной> :: = {<тип_данных> | имя_домена| TYPE OF имя_домена}.

Следует обратить внимание на то, что для каждой переменной используется свой оператор DECLARE VARIABLE, который заканчивается точкой с запятой.

Правило составления имен локальных переменных такое же, как и для любых других идентификаторов языка SQL (см. п. 2.7).

В качестве типа данных можно указывать один из системных типов (см. п. 2.9), ранее созданный домен или конструкцию TYPE OF <имя_домена>, которая извлекает только тип из существующего домена (т.е. ограничения и значения по умолчанию, определенные для данного домена, не учитываются).

Например, чтобы объявить переменную x целого типа, необходимо использовать следующий оператор:

DECLARE VARIABLE x INTEGER;.

Объявить переменную y на домене BOOLEAN можно следующим образом: DECLARE VARIABLE y BOOLEAN;.

Все локальные переменные должны быть объявлены до первого выполняемого блока триггера (процедуры).

Объявленным переменным в дальнейшем могут присваиваться различные значения с помощью оператора присваивания, имеющего следующий синтаксис:

предыдущаяследующая