CREATE OR REPLACE
type courselist as table of varchar2(10)
/
CREATE OR REPLACE
type trec as object (
fld varchar2(10),
courses courselist
);
/
CREATE OR REPLACE
type ttab as table of trec;
/
CREATE OR REPLACE
package dataset
is
function getdataset(arows number) return ttab;
end;
/
CREATE OR REPLACE
package body dataset
is
function getdataset(arows number) return ttab
as
t ttab;
r trec;
i number;
begin
t:=ttab();
for i in 1..arows loop
r:=trec(1, 2, 3, 4, 5, 6, 7, 8);
t.extend;
t(t.last):=r;
r:=trec('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h');
t.extend;
t(t.last):=r;
r:=trec('привет', '', 'от', '', 'GR@F', '', '', '');
t.extend;
t(t.last):=r;
r:=trec('а суть', '', '', '', '', '', '', '');
t.extend;
t(t.last):=r;
r:=trec('', '', 'этой', 'басни', 'в', 'том', ',', '');
t.extend;
t(t.last):=r;
r:=trec('', '', '', '', '', '', 'что', 'можно');
t.extend;
t(t.last):=r;
r:=trec('ляпать', 'свои', 'наборы', 'данных', '', '', '', '');
t.extend;
t(t.last):=r;
r:=trec('', '(', 'как', 'этот', ')', '', '', '');
t.extend;
t(t.last):=r;
end loop;
return t;
end;
end;
/
/*
select * from table(cast(dataset.getdataset(1) as ttab))
*/