Oracle pipelined function 用函数返回表
CREATE TYPE datetabletype as object ( dates date);
CREATE TYPE datetable AS TABLE OF datetabletype;
create or replace function REP_GETDATELIST(ConfigID in number)
return
datetable pipelined is
Startdate date;
Enddate Date;
Startdatestr varchar2(10) ;
Enddatestr varchar2(10) ;
YEARs varchar2(4):='2013';
begin
Startdatestr := YEARs || '/01/01';
Enddatestr := YEARs || '/12/31';
Startdate :=TO_date(Startdatestr,'yyyy-mm-dd');
Enddate := TO_date(Enddatestr,'yyyy-mm-dd');
IF ConfigID =1 THEN
WHILE to_char(Startdate,'mm') < to_char(Enddate,'mm')
LOOP
Startdate:=ADD_months(Startdate,1);
PIPE ROW(datetabletype(Startdate));
END LOOP;
END IF;
return;
end REP_GETDATELIST;
SELECT * FROM table(REP_GETDATELIST(1));
浙公网安备 33010602011771号