В объектно-ориентированном 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?