Как объявить переменную в PostgreSQL

Вопрос:Я пытаюсь объявить переменную в таком коде, но это не сработает. Можете ли вы сказать мне, в чем проблема? ERROR: syntax error at or near "VARCHAR" LINE 2: p_country VARCHAR; DECLARE p_country VARCHAR; p_country : = ''; SELECT p_country; Ответ №1Создайте новый параметр в postgresql.conf для custom_variable_classes: custom_variable_classes = 'var' Перезагрузите конфигурацию, теперь у вас

Вопрос:

Я пытаюсь объявить переменную в таком коде, но это не сработает. Можете ли вы сказать мне, в чем проблема?

ERROR: syntax error at or near «VARCHAR» LINE 2: p_country VARCHAR; DECLARE p_country VARCHAR; p_country : = »; SELECT p_country; Ответ №1

Создайте новый параметр в postgresql.conf для custom_variable_classes:

custom_variable_classes = ‘var’

Перезагрузите конфигурацию, теперь у вас есть переменная “var”, доступная во всех ваших базах данных.

Чтобы создать переменную p_country, просто используйте SET:

SET var.p_country = ‘US’; SELECT current_setting(‘var.p_country’) AS p_country;

Это не красота, но она работает.

Ответ №2

В функции PL/pgSQL вы можете объявить такие переменные:

CREATE FUNCTION identifier (arguments) RETURNS type AS ‘ DECLARE — Declare an integer. subject_id INTEGER; — Declare a variable length character. book_title VARCHAR(10); — Declare a floating point number. book_price FLOAT; BEGIN statements END; ‘ LANGUAGE ‘plpgsql’;

Источник:

Оцените статью
Добавить комментарий