Присвоение значений

Присвоение значений объектам процедурного языка может быть выполнено различными способами в зависимости от типа объекта:

  • при объявлении локальных переменных с помощью параметра значение по умолчанию DEFAULT;

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

  • значение входным параметрам функций и процедур присваивается автоматически при их вызове;

  • значение полям курсора может быть присвоено либо при выполнении FETCH, либо оператором присвоения;

  • значение предопределенным переменным в триггерах присваивается СУБД автоматически.

Назначение

Операция присвоения предназначена для присвоения переменным новых значений.

Синтаксис

< имя переменной >:=< выражение >

Описание

При выполнении присвоения сначала вычисляется значение < выражения >, затем полученное значение присваивается указанной переменной.

Присвоение рассматривается как выражение, значением которого является значение < выражения > справа, поэтому его можно использовать как часть более сложного выражения (аналогично языку программирования C/C++). В частности, допустима запись типа a := b := c := 0.

В качестве правой части присвоения может использоваться NULL. Такое присвоение тоже интерпретируется как NULL, поэтому допустимо присвоение вида:

i := s := d := NULL

даже если i, s и d имеют разные типы (NULL совместим со всеми типами).

В качестве правой части присвоения может использоваться вызов процедуры:

p_var := proc(param1, param2);

альтернативным способом присвоения значения переменной при вызове процедуры является конструкция вида:

call proc(param1, param2) INTO p_var;

Примечание

В < блоке кода > триггера для присвоения значения переменной с использованием вызова процедуры допустимо использовать только конструкции вида:

call proc(param1, param2) INTO p_var;