如何在postgres

时间:2018-06-06 16:37:01

标签: postgresql plpgsql

我在Postgres中有一个函数,它返回类型为ctrlr_kpi_type的setof。

CREATE TYPE public.ctrlr_kpi_type AS
(
    door_id text,
    email text,
    android_id text,
    api_level integer,
    app_vers numeric,
    lattitude numeric,
    longitude numeric,
    oper_cd text,
    firmware_logic_ver text,
    safety_logic integer,
    hold_beam_type integer,
    sys_cycle_count integer,
    ctrlr_cycle_count integer,
    error_name text,
    powered_up_days integer,
    m1_err_cnt integer,
    m1_err_cycle_cnt integer,
    m2_err_cnt integer,
    m2_err_cycle_cnt integer,
    etl_insert_ts timestamp without time zone,
    reading_date timestamp without time zone,
    sap_equip_nbr text
);

功能如下:

CREATE OR REPLACE FUNCTION public.controller_kpi(
    start_date date,
    end_date date)
    RETURNS SETOF ctrlr_kpi_type 
    LANGUAGE 'plpgsql'
     ..............

当我使用select controller_kpi('2018-05-01', '2018-05-31')运行该函数时,它返回一个类型为ctrlr_kpi_type的列表。但是,它显示为一列。

enter image description here

如何根据属性将类型分解为列,以便将结果保存到表中,然后导出到csv?

1 个答案:

答案 0 :(得分:1)

您只需将呼叫更改为添加FROM的功能。

SELECT * FROM controller_kpi('2018-05-01', '2018-05-31')