From: | "Ismail Kizir" <ikizir(at)teklan(dot)com(dot)tr> |
---|---|
To: | <pgsql-sql(at)postgreSQL(dot)org> |
Subject: | |
Date: | 1999-09-29 20:49:15 |
Message-ID: | 014801bf0abc$184ea580$a300aec3@kaplan |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi all,
I need more information and examples for pl/pgsql.
The examples found on the source tree of postgres are not sufficient,
because they are all alphanumerical examples. I need function examples for
numerical computations.
I tried to code the example below but it responded with error message
something like '$= operator not defined for types int4 and float8 ...'
Thanks in advance.
Ismail Kizir
CREATE FUNCTION fCurr (date, int2, float8, int2) RETURNS float8 AS '
DECLARE
fcDate ALIAS FOR $1; -- Conversion date
fromCurrID ALIAS FOR $2; -- Which currency to convert
Amount ALIAS FOR $3; -- Amount to convert
toCurrID ALIAS FOR $4; -- Convert to which currency?
BolenCarpan float8;
BolunenCarpan float8;
BEGIN
IF fromCurrID = toCurrID THEN
RETURN Amount; -- If source and destination are the same, the result
is the input amount
END IF;
IF fromCurrID = 1 THEN -- If we convert the national currency
BolunenCarpan = 1;
ELSE
SELECT Rate FROM CurrDaily INTO BolunenCarpan WHERE cDATE = fcDate
AND CurrID::int2=fromCurrID::int2;
IF NOT FOUND THEN
RAISE EXCEPTION ''Currency info for % #%d not
found'',fcDate,fromCurrID
END IF;
END IF;
IF toCurrID = 1 THEN -- If we convert to national currency
BolenCarpan = 1;
ELSE
SELECT Rate FROM CurrDaily INTO BolenCarpan WHERE cDATE = fcDate AND
CurrID::int2=toCurrID::int2;
IF NOT FOUND THEN
RAISE EXCEPTION ''Currency info for % #%d not
found'',fcDate,fromCurrID
END IF;
END IF;
RETURN Amount*BolunenCarpan/BolenCarpan;
END;
' LANGUAGE 'plpgsql';
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 1999-09-29 23:22:29 | Re: [SQL] self-join and DISTINCT quandry. |
Previous Message | Ismail Kizir | 1999-09-29 20:11:41 | PL/PgSql documentation and examples |