@pitonessa

Как вызвать функцию в скрипте sql?

Есть sql скрипт для сбора данных. (postgres)
Некоторые поля собираются определенным образом - где-то формула, где-то код.
Скрипты сбора разных видов, приведу шаблон:
select
  column_1,
  column_2,
  (a+b) as column_3,
  case when a
          then b
  end as column_4
from ...
join ...

Вот метод сбора таких полей, как column_3, column_4 хочется убрать в функцию, чтоб в дальнейшем можно было ее просто вызывать по имени поля. (то есть, чтоб функция запускала код сбора именно для указанного поля)
Примерно что-то такое:
create function "scheme."f_name" (in numeric) returns numeric AS
$$
declare 
column_4 numeric;
begin
column_4 := (case when a
                          then b
                     end
                   );
end; 
$$
LANGUAGE 'plpgsql'

Это не работает - ошибка: подзапрос в выражении вернул больше одной строк

Это моя первая функция, я уже прочитала много статей на эту тему, но не могу разобраться, как правильно все сделать.
Подскажите, пожалуйста или натолкните на мысль.
Если информации не хватает - дополню.
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы