객체 지향 PL/SQL에서 멤버 프로 시저와 함수를 유형에 추가 할 수 있습니다. 예를 여기에 주어집니다 :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;
내가 함께 할 수있는 방법 JDBC의 CallableStatement? 설명서에서 쉽게 찾을 수없는 것 같습니다.
참고 : 이것은 하나의 가능성이다 유형 생성자 인라인 :
CallableStatement call = c.prepareCall(
" { ? = call foo_type(5).func(2) } ");
하지만 내가 찾는 것은이 같은입니다 (매개 변수로 java.sql.SQLData
사용) :
CallableStatement call = c.prepareCall(
" { ? = call ?.func(2) } ");
또한 구성원 함수, 프로 시저가 개체를 수정할 수 있습니다. Java에서 수정 된 객체를 다시 얻으려면 어떻게해야합니까?
정말 귀하의 질문의 핵심입니다 "멤버 함수를 호출하는 방법"? 아니면 오히려 "매개 변수로 객체를 전달하는 방법"입니까? – Codo
@Codo : 핵심은 멤버 함수 결과 (Vincent Malgrat가 제공 한 답변 예)를 검색하는 방법과 잠재적으로 수정 된 객체 자체를 검색하는 방법입니다. –