Как я могу создать и вернуть курсор из функции plsql? - PullRequest
1 голос
/ 08 мая 2011

Я создал функцию plsql, и я хочу создать курсор и вернуть этот курсор из функции. Затем я хочу вызвать эту функцию в классе Java и получить данные из курсора. Примечание: курсор возвращает одну строку. Я написал что-то подобное ,,

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;

Какой тип возврата мне следует использовать, если я хочу вернуть курсор?

Ответы [ 2 ]

7 голосов
/ 08 мая 2011

Смоделируйте его после следующей функции, которая работает

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;
/
0 голосов
/ 28 сентября 2014

sys_refcursor - универсальный неявный курсор оракула используйте взамен EXPLICITE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...