Problems creating a function

From: Rhaoni Chiu Pereira <rhaoni(at)sistemica(dot)info>
To: pgsql-admin(at)postgresql(dot)org
Subject: Problems creating a function
Date: 2003-08-19 16:13:25
Message-ID: 1061309605.3f424ca5e30ee@sistemica.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hi List,

I was wondering if someone could help me out. I'm migrating a Oracle db to
PostgreSQL so I must rewrite the functions 'cuz the PL/pgSQL's sintax is
different. The problem is to sum dates .. as follows:

CREATE FUNCTION ft_vcto_dupl(NUMERIC,NUMERIC,TIMESTAMP,NUMERIC,TIMESTAMP)
RETURNS TIMESTAMP AS '
DECLARE
pEmp ALIAS FOR $1;
pFil ALIAS FOR $2;
pDataEmissao ALIAS FOR $3;
pCodigoPrazoPgto ALIAS FOR $4;
pPrazoPgtoFixo ALIAS FOR $5;
mDataVctoDupl TIMESTAMP := pPrazoPgtoFixo;
mPrazoPgto NUMERIC(3) := 0;
BEGIN
SELECT INTO mPrazoPgto prazo FROM ftpraz00 WHERE emp = pEmp AND fil = 0
AND codigo = pCodigoPrazoPgto;
IF NVL(to_number(TO_CHAR(mDataVctoDupl,''MM'')),00) = 00 THEN
***** mDataVctoDupl := pDataEmissao + mPrazoPgto;
END IF;
--
RETURN (mDataVctoDupl);
END;

' LANGUAGE 'plpgsql'

In the line marked with " ***** " it should be something like :

mDataVctoDupl := pDataEmissao + interval ''mPrazoPgto day'';

BUT , this way the PostgreSQL treats the variable mPrazoPgto as a string
and it must treat it like a variable and use its value.

How do I make it understand mPrazoPgto as variable ?

Atenciosamente,

Rhaoni Chiu Pereira
Sistêmica Computadores

Visite-nos na Web: http://sistemica.info
Fone/Fax : +55 51 3328 1122

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Stephan Szabo 2003-08-19 16:20:09 Re: Problems creating a function
Previous Message Jean Michel Gaudel 2003-08-19 00:21:16 Re: dbase ODBC error