psani funkce v pgsql

Jiri Chaloupka dev na b2bexpander.com
Středa Listopad 20 11:10:35 CET 2002


>> >> dotaz EXECUTE ''SELECT ...'' || $1, ale nevim
>> >> jestli Vam to naplni promennou.
>> >
>> > nenaplni
>
>  Hu?
>
> CREATE TABLE gogo (data text);
>
> CREATE OR REPLACE FUNCTION add(text, text) RETURNS int AS '
> DECLARE q text;
> BEGIN
>         q = ''INSERT INTO ''|| $1 ||'' VALUES( '' ||
>             quote_literal( $2 ) || '')'';
>         EXECUTE q;
>         RETURN 1;
> END;
> ' LANGUAGE 'plpgsql';
>
> SELECT add('gogo', 'moje data');
>  add
> -----
>    1
>
> SELECT * FROM gogo;
>    data
> -----------
>  moje data
>
>
>  Vice dokumentace:-)
>

Takto samozrejme ano, ale to pak uz je jednodussi udelat select last_value
from <<nejaka sekvence>>, cemuz jsem se chtem vyhnout a dotaz presunout na
databazovou uroven nejakou obecnou funkci insert_id(<<jmeno tabulky>>) ve
chvili, kdy unvitr transakce vkladam cast dat do jedne tabulky a  cast dat
do dalsi s klicem na prvni tabulku

Jirka




Další informace o konferenci Test