Thread: Using User Defined Type in JDBC code

Using User Defined Type in JDBC code

From
Gunjeet Singh
Date:

Hi,

Can somone tell me how I can call a pl/pgsql stored function
that returns a user-defined type from the JDBC code ?

What type do you use while registering the out parameter for a function
that returns a user-defined type ?

Please see the type definition and function definition below.
The function gets created successfully but I don't know how to test them
from sql prompt or even more importantly from JDBC code.

create type gs_demotype as (
   value1 text,
   value2 text,
   value3 REFCURSOR );


create function string_n_refcursor()
returns gs_demotype
as '
   declare
    rval demotype;
    rc     REFCURSOR;
   begin
    rval.value1 := ''some string'';
    rval.value2 := ''some other string'';
    OPEN rc FOR SELECT name,location FROM cities;
    rval.value3 := rc;
    return rval;
   end;
' language 'plpgsql';

Thanks,

Gunjeet





Re: Using User Defined Type in JDBC code

From
Kris Jurka
Date:

On Thu, 25 Mar 2004, Gunjeet Singh wrote:
> Hi,
>
> Can somone tell me how I can call a pl/pgsql stored function
> that returns a user-defined type from the JDBC code ?
>
> What type do you use while registering the out parameter for a function
> that returns a user-defined type ?
>

The easiest way to do this is not to use a CallableStatement, but a normal
Statement or PreparedStatement and issue a

SELECT * FROM string_n_refcursor();

Kris Jurka