Select 来自 table,将参数添加到结果,然后 return 来自函数

Select from a table, add a parameter to the result and return it from a function

我有一个函数 returns select 的结果基于传递给它的参数。我想将参数加入到函数的返回结果中。这是一个例子:

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;
$$

你只需要正确调用参数即可

我创建了一个假 sometable table 并插入了两行

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 输入参数是否与 table 中的 param 字段相反。我删除了与 othertable 的连接,但也可以添加。