【发布时间】:2011-08-25 09:43:17
【问题描述】:
我想创建一个 PSQL 函数,它返回一个类似结果的表。我的函数定义如下所示:
create or replace function myfunc1()
returns table(id varchar(50), title varchar(50))
as $$
begin
return query select id, title from books;
end;
$$ language plpgsql;
但是,当我调用该函数时,我得到了这个错误:
错误:列引用“id”不明确 第 1 行:从书籍中选择 id、title ^ 详细信息:它可以引用 PL/pgSQL 变量或表列。
显然,这是因为我在返回表和目标表中都使用了列名“id”。最简单的解决方案是更改列名。但我来这里是为了寻找一种让我使用我想要的列名的方法。此外,更改名称会使我的代码变得怪异,其他人难以理解。
【问题讨论】:
标签: database function postgresql