У меня есть функция, которая возвращает результат выбора на основе переданного ей параметра. Я хочу присоединить параметр к возвращаемому результату функции. Вот пример:

create or replace function somefunc(param varchar)
returns table(fielda varchar, fieldb int, param varchar)
language plpgsql
as $$
begin
        return query
    select
    fielda varchar,
    fieldb int,
    param varchar -- HOW DO I SELECT IT?
    from  
        sometable
    join
        othertable on id = other_id
end;
$$
0
docHoliday 19 Май 2021 в 11:39

1 ответ

Лучший ответ

Вам просто нужно правильно вызвать параметр

Я создал поддельную таблицу sometable и вставил две строки с

create table sometable(fielda varchar, fieldb int);
insert into sometable values('a',1);
insert into sometable values('b',2);

Затем определил функцию somefunc с

create or replace function somefunc(param_in varchar)
returns table(fielda varchar, fieldb int, param varchar)
language plpgsql
as $$
begin
        return query
    select
    sometable.fielda,
    sometable.fieldb,
    param_in 
    from sometable;
end;
$$

Обратите внимание, что входной параметр param_in не контрастирует с полем param в таблице. Я удалил соединение с othertable, но его тоже можно добавить.

0
Ftisiot 19 Май 2021 в 09:52