Для создания переменной внутри тела функции нужно использовать конструкцию DECLARE
Выглядеть это будет так:
— Функция с переменной через оператор DECLARE и :=
CREATE FUNCTION test1.aa23()
RETURNS bigint
LANGUAGE ‘plpgsql’
AS $BODY$
DECLARE ss bigint := 10;
BEGIN — Обязательно BEGIN
RETURN ss;
END — Обязательно END
$BODY$;
— вызов
SELECT test1.aa23();
После первого тега $BODY$ нужно записать ключевое слово DECLARE. После него нужно записать название переменной (идентификатор привязки), которая будет работать внутри этой функции.
Мы назовём новую переменную ss. После этого нужно явно указать тип переменной, которую мы создали. Мы выбираем тип bigint
Следующим шагом после объявления переменной мы ПРИСВАИВАЕМ для неё значение. Делается это при помощи конструкции двоеточие и символ равенства :=
В качестве значения присваиваем число 10. У нас самая простая функция.
Далее начинается сама логика работы функции по языку ‘plpgsql‘. Ключевые слова BEGIN и END обязательны. Между ними пишем команду RETURN, которая должна вернуть значение присвоенной переменной ss.
Вызов функции осуществляем через оператор SELECT. Функция ничего не принимает, а просто возвращает 10.
Информационные ссылки
PostgreSQL | Как вернуть из функции идентификатор вставки записи в таблицу?
PostgreSQL | Функция проверки наличия пробелов в строке данных или строке запроса с клиента
Официальный сайт PostgreSQL — https://www.postgresql.org
Команды SQL — https://postgrespro.ru/docs/postgresql/14/sql-commands
Команда CREATE FUNCTION — https://postgrespro.ru/docs/postgresql/14/sql-createfunction
Команда SELECT — https://postgrespro.ru/docs/postgresql/14/sql-select
Раздел «43.3.6. Упорядочение переменных PL/pgSQL» — https://postgrespro.ru/docs/postgresql/14/plpgsql-declarations#PLPGSQL-DECLARATION-COLLATION
Раздел «43.6. Управляющие структуры» — https://postgrespro.ru/docs/postgresql/14/plpgsql-control-structures
Графический интерфейс pgAdmin — https://www.pgadmin.org