[Postgresql] Przekazywanie bledow
Waldemar - 13-11-2006 00:44
[Postgresql] Przekazywanie bledow
Witam,
Pisze baze w posgresql+php i chce, aby moje funkcje PL/SQL zwracaly kody bledow. Oczywiscie nie chce pisac
return 67; -- Taka osoba juz istnieje
tylko
return ERR_TAKA_OSOBA_JUZ_ISTNIEJE;
I tu pytanie: jak zadeklarowac globalna stala w PL/SQL ? Tak, abym nie musial tej deklaracji ponawiac w kazdej sesji.
Dzieki i pozdrawiam, Waldemar
Filip Rembiałkowski - 13-11-2006 00:44
Waldemar napisał(a): > Witam, > > Pisze baze w posgresql+php i chce, aby moje funkcje PL/SQL zwracaly kody > bledow. Oczywiscie nie chce pisac > > return 67; -- Taka osoba juz istnieje > > tylko > > return ERR_TAKA_OSOBA_JUZ_ISTNIEJE; > > I tu pytanie: jak zadeklarowac globalna stala w PL/SQL ? Tak, abym nie > musial tej deklaracji ponawiac w kazdej sesji.
W PL/PgSQL (!) nie ma zmiennych globalnych. Poza pewnym wyjątkiem którym jest mechanizm obsługi wyjątków :) (SQLSTATE / SQLCODE).
Rozwiązaniem może być własna tabela kodów CREATE TABLE err ( code integer PRIMARY KEY, name text UNIQUE NOT NULL, description text );
i prosta funkcja CREATE FUNCTION err(text) RETURNS integer AS $$ SELECT code FROM err WHERE name=$1 $$ LANGUAGE SQL;
a potem korzystanie z konstrukcji return err('TAKA_OSOBA_JUZ_ISTNIEJE');
Dodatkowa zaleta: nie musisz definiować tych zmiennych w dwóch miejscach (aplikacja i baza) jednocześnie.
F.
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.plred-hacjenda.opx.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 |
|