PostgreSQL 7.4.x - 8.X - Inna interpretacja plpgsql
Jacek Arendt - 10-09-2006 00:13
PostgreSQL 7.4.x - 8.X - Inna interpretacja plpgsql
Witam,
Chcialbym zauwazyc, iz (moj)? postgresql 7.4.x blednie interpretuje dana funkcje:
CREATE FUNCTION "storeItemsAmountBase"( BIGINT, NUMERIC( 20, 3 ) ) RETURNS NUMERIC( 20, 3 ) AS ' DECLARE "_contractType_id" ALIAS FOR $1; "_contractItemAmount" ALIAS FOR $2;
BEGIN
IF "_contractType_id" = 1 THEN RETURN -"_contractItemAmount";
ELSEIF "_contractType_id" = 5 THEN RETURN "_contractItemAmount"; ELSE RETURN 0; END IF; END; ' LANGUAGE 'plpgsql';
SELECT "storeItemsAmountBase"( 5, a ) , gdzie a nalezy do numeric zwraca 0,
natomiast postgreSQL 8.x zwraca poprawnie: a
Nadmienie iz zmieniona funkcja w sposob:
CREATE FUNCTION "storeItemsAmountBase"( BIGINT, NUMERIC( 20, 3 ) ) RETURNS NUMERIC( 20, 3 ) AS ' DECLARE "_contractType_id" ALIAS FOR $1; "_contractItemAmount" ALIAS FOR $2;
BEGIN
IF "_contractType_id" = 1 THEN RETURN -"_contractItemAmount"; END IF;
IF "_contractType_id" = 5 THEN RETURN "_contractItemAmount"; END IF;
RETURN 0;
END; ' LANGUAGE 'plpgsql';
Dziala prawiodlowo na obu wersjach Posgresa.
Czy ktos spotkal sie z podobnym problem ?
Pozdrawiam -- Jacek
Andrzej Kosmala - 10-09-2006 00:14
Użytkownik "Jacek Arendt" <arendt@3si.pl> napisał w wiadomości news:ed4o5q$lts$1@atlantis.news.tpi.pl... > Witam, > > Chcialbym zauwazyc, iz (moj)? postgresql 7.4.x blednie interpretuje dana > funkcje:
Interpretuje błędnie, ponieważ jest błąd składniowy. Nie ELSEIF a ELSIF.
--
Pozdrawiam, Andrzej Kosmala
Jacek Arendt - 10-09-2006 00:14
"Andrzej Kosmala" <spam@spam.pl> wrote in message news:ed5em9$7r0$1@atlantis.news.tpi.pl...
>> Chcialbym zauwazyc, iz (moj)? postgresql 7.4.x blednie interpretuje dana >> funkcje: > > Interpretuje błędnie, ponieważ jest błąd składniowy. Nie ELSEIF a ELSIF.
Dzieki - fakstycznie. Wydaje mi sie ze powinien wyrzucac blad skladni.
-- Pozdrawiam Jacek
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?=
postgresql - int/int
postgresql Select count(*) czy raczej Select count(ID)
[PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?=
[postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?=
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
[PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?=
Postgres - replikcja master-master
Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL]
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
zanotowane.pldoc.pisz.plpdf.pisz.plnumervin.keep.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|