ďťż
 
[Postgresql] Przekazywanie bledow ďťż
 
[Postgresql] Przekazywanie bledow
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • red-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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com