【发布时间】:2012-10-11 21:53:37
【问题描述】:
我正在使用 PostgreSQL 9.1,假设我在 PostgreSQL 中有一个类型:
CREATE TYPE sticker AS (
customer_id integer,
customer_machine_id integer,
);
我有一个名为 get_sticker 的 plpgsql,它返回类型贴纸...
我可以做到这一点:
select get_sticker(a_value), * from foo_bar;
但是,这会以元组的形式返回结果(这完全有道理)。但是,我怎样才能将(基本上解包)转换为列?
看起来会像下面这样,但它失败了。
select get_sticker(a_value).*, * from foo_bar; -- <<<< FAIL
错误信息:
ERROR: syntax error at or near "."
SQL state: 42601
【问题讨论】:
-
当出现故障时,提供错误消息是值得的。
-
@CraigRinger :很好。我会更新问题。