Dav*_*vid 6 postgresql plpgsql plperl
我有以下代码从pl/python返回多个值:
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;
Run Code Online (Sandbox Code Playgroud)
输出是:
column
(egg,4)
Run Code Online (Sandbox Code Playgroud)
我想要做的是将输出分成两个单独的列.像这样:
column, column2
egg, 4
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?用Google搜索了1个小时让我无处可去.所以我希望我最后会添加一些搜索关键字:多个返回值多个结果多个列不需要列表不需要设置
是的,这个语法有点古怪,需要额外的括号:
select (make_pair('egg', 4)).name
Run Code Online (Sandbox Code Playgroud)
要从输出中获取多个组件而只调用一次该函数,可以使用子选择:
select (x.column).name, (x.column).value from (select make_pair('egg', 4) as column) x;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3866 次 |
| 最近记录: |