我正在尝试从存储过程中检索值。这个存储过程有两个引用游标。下面是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)的输出。
任何帮助,将不胜感激。
慕盖茨4494581
相关分类