Re: call syntax for record returning stored function
От | markw@osdl.org |
---|---|
Тема | Re: call syntax for record returning stored function |
Дата | |
Msg-id | 200403222155.i2MLt6E25267@mail.osdl.org обсуждение исходный текст |
Ответ на | Re: call syntax for record returning stored function (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-jdbc |
On 22 Mar, Tom Lane wrote: > markw@osdl.org writes: >> I'm having a little trouble figuring out the call syntax for calling a >> pl/pgsql stored function that returns a record with >> Connection.prepareCall(). I'm not getting the column definition list >> correct. A pointer to an example would be great, or an example for >> something like the following: > >> CREATE OR REPLACE FUNCTION home (INTEGER, INTEGER) >> RETURNS RECORD AS ' >> DECLARE >> c_fname CHAR(15); >> pp_i_id1 INTEGER; >> rec RECORD; >> BEGIN >> ... >> SELECT c_fname::CHAR(15), pp_i_id1::INTEGER >> INTO rec; >> RETURN rec; >> END; >> ' LANGUAGE 'plpgsql'; > > You could call that function like this: > > regression=# select home.* from home(3,4) as (f1 char(15), f2 int); > f1 | f2 > ----+---- > | > (1 row) > > regression=# select h.* from home(3,4) as h (f1 char(15), f2 int); > f1 | f2 > ----+---- > | > (1 row) > > Note that the AS clause must provide column names as well as types > for the function output. I think the word "AS" is optional in the > second case but not the first. Perfect, thanks! Mark
В списке pgsql-jdbc по дате отправления: