psani funkce v pgsql

Jiri Chaloupka dev na b2bexpander.com
Úterý Listopad 19 19:22:01 CET 2002


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dne út 19. listopad 2002 17:08 jste napsal(a):
> Takze zasadni chyba je, ze se snazite parametrizovat
> dotaz na spatnem miste. Parametr muzete pouzit pouze
> jako konstantu ve vyraze, nikoliv jako nazev tabulky
> neno sloupce.

tak tot mi uteklo, v tom byl zakopan pes ...
Plati toto omezeni i pro funkce v jinem jazyce (perl, c)?

>
> Mozny reseni, pouzijete if a jeste tam mate chybne
> naplneni vracene promenne a mozna se tomu taky nemusi
> libit duplicita promennych.
>
> declare r int;
> begin
>   if $1 = ''tab1'' then
>     select into r max(id) from tab1;
>   elsif ....
>   end if;
>   return r;
> end;

toto bohuzel nejde v tomto konkretnim pripade z duvodu zachovani obecnosti

>
> neco by se jeste nechalo vymyslet jako dynamicky
> dotaz EXECUTE ''SELECT ...'' || $1, ale nevim
> jestli Vam to naplni promennou.

nenaplni
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE92oFMvYSoX+V7iM0RAnpdAKCD0Kvo+GFOtqqdVRKqvD8StEoxzQCg0eSt
kL+vu8wz68yD5ZC678pHhpc=
=swc9
-----END PGP SIGNATURE-----



Další informace o konferenci Databases