我有下面的代码从PL /蟒蛇返回多个值:如何在Postgres中将类型拆分为多个列?
CREATE TYPE named_value AS (
name text,
value integer
);
CREATE or replace FUNCTION make_pair (name text, value integer)
RETURNS named_value
AS $$
return [ name, value ]
$$ LANGUAGE plpythonu;
select make_pair('egg', 4) as column;
输出是:
column
(egg,4)
我想要做的就是将输出分为两个单独的列。像这样:
column, column2
egg, 4
我该怎么做?谷歌搜索1小时让我无处可去。所以,我希望我会在结尾处添加的搜索关键词: 多个返回值的多个结果的多个列UNNEST UNNEST设置
你的代码的工作,但是我真的需要一个子选择来做到这一点?我和make_pair('egg',4).name很接近,但是没有用。 – David 2011-02-01 18:28:39
你可以说`select(make_pair('egg',4))。name`,例如。如果你想要两个组件,但只需要执行一次该功能,我认为你需要子选择。我会更新答案。 – araqnid 2011-02-01 18:30:03
不必多次执行此功能绝对是一个目标。 – David 2011-02-01 19:23:14