Присвоение значений
Присвоение значений объектам процедурного языка может быть выполнено различными способами в зависимости от типа объекта:
-
при объявлении локальных переменных с помощью параметра значение по умолчанию 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;