2011-05-07 4 views
1

나는 plsql 함수를 만들었고 커서를 만들고이 커서를 함수에서 반환하려고합니다. 그런 다음 Java 클래스에서이 함수를 호출하고 커서에서 데이터를 검색하려고합니다. 참고 : 커서는 한 행을 반환합니다. 내가 ,, 이런 식으로 뭔가를 쓴 나는 커서를 반환하려면 내가 무엇을 사용해야 수익 형 어떻게 plsql 함수에서 커서를 생성하고 리턴 할 수 있습니까?

CREATE OR REPLACE 
FUNCTION FUNCTION1 (emp_id IN NUMBER)RETURN cursor AS 

    cursor newCursor(e_id number) is 
    select * from table1 where employee_id = e_id;   
    type refCursor is ref cursor; 

    BEGIN 

    open newCursor(emp_id);  
    loop 
    exit when newCursor%notfound; 
    fetch newCursor into refCursor; 
    end loop; 
    RETURN refCursor; 

END FUNCTION1; 

?

create or replace function getemps return sys_refcursor is 
v_curs sys_refcursor; 
begin 
open v_curs for select ename from emp; 
return v_curs; 
end; 
/

답변

7

모델 내가이 경우 커서에 매개 변수를 전달하려면 대신

+0

매우 – sahar

+0

감사합니다 오라클의 일반적인 암시 적 커서 사용 EXPLICITE 커서입니다 , 나는 그것을 어떻게 할 수 있냐?? – sahar

+0

패키지로하는 방법? –

0

SYS_REFCURSOR를 작동하는 다음 함수 후

관련 문제