=?GB2312?B?1cW6o7fl?= writes:
> And i call function a by jdbc:
> ...
> conn.setAutoCommit(false);
> CallableStatement cs = conn.prepareCall("{ call a( ?, ? ) }");
> cs.registerOutParameter(1, Types.INTEGER);
> cs.registerOutParameter(2, Types.OTHER);
> cs.execute();
That's not the approved syntax
Actually, the real function name is t_outer and t_inner, a and b is
just for convenience.
So you can see them as
CREATE OR REPLACE FUNCTION a (out ...
and
CREATE OR REPLACE FUNCTION b (out ...
And i call function a by jdbc:
...
conn.setAutoCommit(false);
CallableStatement cs = conn.prepareCall("{
On 28/01/2010 07:32, 张海峰 wrote:
> i have 2 functions, naming a and b, both outputing a resultset(cursor)
> and a integer.
> a calls b
>
> a:
> CREATE OR REPLACE FUNCTION "public"."t_outer" (out o_rs
> "pg_catalog"."refcursor", out o_i integer) RETURNS record AS
> ...
> select t_inner(o_rs, o_i);
>