Я пытаюсь получить значения из хранимой процедуры. Эта хранимая процедура имеет два курсора ссылки. Ниже приводится SP:
create or replace PROCEDURE "EMP_JOB" (
p_job VARCHAR2,
p_emp_refcur IN OUT SYS_REFCURSOR,
p_sal_refcur IN OUT SYS_REFCURSOR
)
IS
BEGIN
OPEN p_emp_refcur FOR
SELECT empno, ename
FROM emp
WHERE job = p_job;
OPEN p_sal_refcur FOR
SELECT sal
FROM emp
WHERE job = p_job;
END;
Вот мой код Java:
StoredProcedureQuery query = entityManager.createStoredProcedureQuery("EMP_JOB")
.registerStoredProcedureParameter(1, String.class, ParameterMode.IN)
.registerStoredProcedureParameter(2, Class.class, ParameterMode.REF_CURSOR)
.registerStoredProcedureParameter(3, Class.class, ParameterMode.REF_CURSOR)
.setParameter(1, "CLERK");
query.execute();
Iterator queryIterator = query.getResultList().iterator();
ArrayList<Object> vinArray= new ArrayList<Object>();
while(queryIterator.hasNext()){
Object st= (Object)queryIterator.next();
vinArray.add(st);
}
Я могу получить выходные данные для параметра 2 (p_emp_refcur IN OUT SYS_REFCURSOR
).
Как мне получить выходные данные для параметра 3 (p_sal_refcur IN OUT SYS_REFCURSOR
).
Любая помощь будет оценена.
Заранее спасибо