我正在使用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
答案 0 :(得分:0)
您需要一组额外的括号:
select (get_sticker(a_value)).*, * from foo_bar;