Function 我可以更改PostgreSQL函数中的列标题吗?

Function 我可以更改PostgreSQL函数中的列标题吗?,function,postgresql,plpgsql,columnname,Function,Postgresql,Plpgsql,Columnname,我有一个Postgres视图,它四次使用plpgsql函数生成过期债务报告。如果该行的日期在当前期间,则该行中的值位于第1列,如果该日期是上个月,则该值位于第2列。。。等等。 我用一个参数调用函数,该参数告诉函数计算这个月的债务,上个月的债务,2个月前的债务,或者在最后一列中计算之前的所有内容 CREATE OR REPLACE FUNCTION agedebt4(beforem integer, d_details) RETURNS double precision AS

我有一个Postgres视图,它四次使用plpgsql函数生成过期债务报告。如果该行的日期在当前期间,则该行中的值位于第1列,如果该日期是上个月,则该值位于第2列。。。等等。
我用一个参数调用函数,该参数告诉函数计算这个月的债务,上个月的债务,2个月前的债务,或者在最后一列中计算之前的所有内容

    CREATE OR REPLACE FUNCTION agedebt4(beforem integer, d_details)
    RETURNS double precision AS
     $BODY$
    /* This Func creates a column for Aged Debt Reporting from d_details table
       The beforem parameter can be entered as 0,1,2 or 3
       0 shows current period debt, 1 previous period, 2 cur period -2
       and 3 shows current period less three AND EARLIER. */
    DECLARE
      curdt date =(CURRENT_DATE);
      curdy text = substring(curdt,1,4);
      curdm text = substring(curdt,6,2);
      curdmi int = curdm::int;
      curdyi int = curdy::int;
     -- blah
     -- blah
     -- blah
这一观点已经过时

SELECT agedebt4(0,d_details) AS "Current Debt", agedebt4(1,d_details) 
AS "CurrPeriod -1 Debt", agedebt4(2,d_details) AS "CurrPeriod -2 Debt", -- etc 
但我希望在函数中更改列标题。因此,我实际上可以拥有2013年8月的债务
2013年9月的债务
2013年8月的债务
2013年7月的债务
之前的债务
。。。(显然,月份名称取决于执行月份)。。。在输出上显示。我不想将函数名从agedebt4更改-这很好。我希望函数修改显示的列标题


可以这样做吗?

我确定,因此您无法从内部函数更改视图(列标签)。一个主要原因是时机。在执行任何操作之前,指定标签并对其进行硬编码。所以您不能在以后更改它-当函数执行时。数据类型也有相同的行为-在任何执行之前都是固定的