Как сохранять промежуточные данные в функции postgresql?

Пользователь

от linnea , в категории: SQL , год назад

Как сохранять промежуточные данные в функции postgresql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от cloyd , год назад

@linnea 

В PostgreSQL можно использовать переменные для сохранения промежуточных данных в функции. Для объявления переменной необходимо использовать ключевое слово DECLARE, а для присваивания значения переменной – оператор :=.


Пример сохранения промежуточных данных в функции:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
CREATE OR REPLACE FUNCTION my_function()
RETURNS void AS $$
DECLARE
  my_variable integer := 0;
BEGIN
  my_variable := 1;
  -- выполнение каких-то действий с my_variable
  my_variable := 2;
  -- выполнение еще каких-то действий с my_variable
END;
$$ LANGUAGE plpgsql;


В этом примере функция my_function() объявляет переменную my_variable типа integer, присваивает ей значение 0 и затем изменяет ее значение на 1 и 2 внутри блока BEGIN-END. После завершения работы функции значение переменной не сохраняется, но вы можете передать его в качестве значения функции, используя оператор RETURN.