CREATE FUNCTION identifier (arguments) RETURNS type AS '
DECLARE
-- Объявить числовую переменную типа integer
subjectjd integer:
-- Объявить строковую переменную переменной длины.
book_title varchar(10);
-- Объявить вещественную числовую переменную, book price float:
BEGIN
команды END:
' LANGUAGE 'plpgsql':
Объявление переменной также может содержать дополнительные модификаторы. Ключевое слово CONSTANT указывает на то, что вместо переменной определяется константа. Константы рассматриваются ниже в этом разделе.
Ключевые слова NOT NULL означают, что переменной не может присваиваться псевдозначение NULL. Если переменной, объявленной с модификатором NOT NULL, в программном блоке присваивается псевдозначение NULL, происходит ошибка времени выполнения. Поскольку при объявлении без инициализации всем переменным автоматически присваивается псевдозиачение NULL, переменные с модификатором NOT NULL обязательно должны инициализироваться.
Ключевое слово DEFAULT определяет значение по умолчанию для переменной. Вместо него можно воспользоваться оператором :=, эффект будет тем же.
Ниже приведен расширенный синтаксис объявления переменной:
имя_переменной [ CONSTANT ] тип_данных [ NOT NULL ]
[ { DEFAULT | :- } значение ]:
В листинге 11.13 приведены примеры объявлений целочисленной константы, равной 5, переменной со значением 10, которой не может быть присвоено псевдозначение NULL, и символьной переменной, содержащей символ «а».