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';

Browse pgsql-sql by date

  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