Launch Oracle stored-procedure in Java code
java, jdbc, oracle, plsql, stored-procedures
Solution
You need to use the CallableStatement class:
String sql = "{call EVALUATE_PERSON_PROC(?, ?)}";
CallableStatement statement = connection.prepareCall(sql);
...
statement.execute();
Problem
I wrote a stored-procedure in Oracle and now, I want to launch it in Java code. I will describe a problem. I have a object type: ``` TYPE PERSON_TYPE AS OBJECT (ID NUMBER(38), NAME VARCHAR2(20)); ``` And table type: ``` TYPE PERSON_TYPE_TABLE AS TABLE OF PERSON_TYPE; ``` My procedure looks like this: ``` PROCEDURE EVALUATE_PERSON_PROC(P_PERSON_ID IN NUMBER, return_data OUT NOCOPY PERSON_TYPE_TABLE) AS --Some code BEGIN --Some code END; ``` How to launch this procedure in Java code? Which classes are the best to do it?