PostgreSQL | Как создать переменную в теле функции?

PostgreSQL | Как создать переменную в теле функции?

Для создания переменной внутри тела функции нужно использовать конструкцию 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.

Функция с объявленной переменной внутри своего тела через DECLARE - PostgreSQL
Функция с объявленной переменной внутри своего тела через DECLARE — PostgreSQL

 

Информационные ссылки

PostgreSQL | Как вернуть из функции идентификатор вставки записи в таблицу?

PostgreSQL | Функция проверки наличия пробелов в строке данных или строке запроса с клиента

Официальный сайт PostgreSQLhttps://www.postgresql.org

Команды SQLhttps://postgrespro.ru/docs/postgresql/14/sql-commands

Команда CREATE FUNCTIONhttps://postgrespro.ru/docs/postgresql/14/sql-createfunction

Команда SELECThttps://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

Графический интерфейс pgAdminhttps://www.pgadmin.org