Вызов объектно-ориентированных процедур-членов PL / SQL Oracle из JDBC

В объектно-ориентированном PL / SQL я могу добавлять процедуры-члены и функции к типам. здесь приведен пример:

create type foo_type as object (
  foo number,

  member procedure proc(p in number),
  member function  func(p in number) return number
);

create type body foo_type as 
  member procedure proc(p in number) is begin
    foo := p*2;
  end proc;

  member function func(p in number) return number is begin
    return foo/p;
  end func;
end;

От: http://www.adp-gmbh.ch/ora/plsql/oo/member.html

В PL / SQL я могу затем вызвать эти процедуры-члены / такие функции:

declare
    x foo_type;
begin
    x := foo_type(5);
    x.proc(10);
    dbms_output.put_line(x.func(2));
end;

Как я могу сделать это с помощью CallableStatement JDBC? Кажется, я не могу легко найти это в документации.

ПРИМЕЧАНИЕ : Это одна из возможностей, встраивание конструктора типа:

CallableStatement call = c.prepareCall(
    " { ? = call foo_type(5).func(2) } ");

Но я ищу что-то вроде этого (используя java.sql.SQLData в качестве параметра):

CallableStatement call = c.prepareCall(
    " { ? = call ?.func(2) } ");

Кроме того, функции-члены, процедуры могут изменять объект. Как я могу получить измененный объект назад в Java?

8
задан Lukas Eder 21 August 2011 в 10:38
поделиться