- Архив списков рассылки pgsql-sql
От | Ismail Kizir |
---|---|
Тема | |
Дата | |
Msg-id | 014801bf0abc$184ea580$a300aec3@kaplan обсуждение исходный текст |
Ответы |
Re: [SQL] Date: Wed, 29 Sep 1999 23:49:15 +0300
|
Список | 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; -- Conversiondate 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 CurrDailyINTO 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 CurrDailyINTO 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';
В списке pgsql-sql по дате отправления: