0

plpgsql 関数を 4 回使用して Aged Debt Report を生成する Postgres VIEW があります。行に現在の期間の日付がある場合、その行の値は列 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 

しかし、関数内で列のタイトルを変更したいと考えています。だから私は実際にOct2013 Debt Sep2013 Debt Aug2013 Debt July2013+ Earlier...(実行の月に応じて明らかに月の名前)...を出力に表示することができました。関数名を agedebt4 から変更したくありません。それで問題ありません。表示されている列のタイトルを修正する関数が必要です。

これはできますか?

4

1 に答える 1