pnv
Member
Откуда: Сообщений: 24 |
Мне эта тема тоже показалась интересной. в
примере на выходе таблица, а курсор можно изменять от входных
параметров.
create or replace TYPE T_TYPE_SEL as table of
TYPE_SEL;
FUNCTION F_SEL(параметры) return T_TYPE_SEL TYPE
TCUR IS REF CURSOR; CUR TCUR; l_data T_TYPE_SEL:=T_TYPE_SEL()
; l_row TYPE_SEL:=TYPE_SEL(null, null, null, null, null, null,
null); sql1 varchar(2048); sql2 varchar(2048);
begin sql1:= ' select первый';
sql2:=' select
второй'; i:=0; if условие then open CUR for sql1; else
open CUR for sql2; end if; LOOP FETCH cur INTO
l_row.c1,l_row.c2,l_row.c3,l_row.c4,l_row.c5,l_row.c6,l_row.c7; EXIT
WHEN cur%NOTFOUND; i:=i+1; l_data.extend;
l_data(i):=l_row; end loop; close cur; return
l_data; end; |