Oracle Хранимые процедуры

mezherm69

Как объявить процедуру которая возвращает курсор
делаю так:
procedure test(cur out ref cursor) is
begin
open cur for
select e.*
from filial e;
end;
выдает ошибку синтаксиса

Hastya

надо тип ref cursor объявить

mezherm69

можешь привести пример кода!

Vyacha

Тоха, ПРЕВЕД!

+1
create or repl package test_pack as
type ref_cursor is ref cursor;
procedure test(cur out ref_cursor);
end test_pack;
/
create or repl package body test_pack as
procedure test(cur out ref_cursor) is
begin
open cur for 'select * from dual';
end;
end test_pack;
/

Vyacha

Кому интересно:
если не устраивает базирование процедуры test в пакете - второй вариант:
create or repl package test_pack as
type ref_cursor is ref cursor;
end test_pack;
/
create or repl procedure test( cur out test_pack.ref_cursor ) as
begin
open cur for 'select * from dual';
end;
/
Оставить комментарий
Имя или ник:
Комментарий: