declare
type t_tab is table of emp%rowtype;
v_tab t_tab;
i int := 0;
v_count int;
begin
v_tab := t_tab();--用不带参数的构造函数初始化一个空表
dbms_output.put_line(v_tab.count);
for rec in (select * from emp where empno < 100) loop
i := i + 1;
v_tab.extend;--增加一条空表
v_tab(i).empno := rec.EMPNO;
v_tab(i).ename := rec.ENAME;
v_tab(i).job := rec.JOB;
v_tab(i).mgr := rec.MGR;
v_tab(i).hiredate := rec.HIREDATE;
v_tab(i).sal := rec.SAL;
v_tab(i).comm := rec.DEPTNO;
end loop;
v_count := v_tab.count;
dbms_output.put_line(v_count);
for n in 1 .. v_count loop
dbms_output.put_line(v_tab(n).empno || '=' || v_tab(n).ename);
end loop;
dbms_output.put_line('---------------------------');
v_tab.extend(5,3);--用extend(5,3)方法,在v_tab的末尾复制5个一样的第3条元素
v_count := v_tab.count;
dbms_output.put_line(v_count);
for n in 1 .. v_count loop
dbms_output.put_line(v_tab(n).empno || '=' || v_tab(n).ename);
end loop;
end;
type t_tab is table of emp%rowtype;
v_tab t_tab;
i int := 0;
v_count int;
begin
v_tab := t_tab();--用不带参数的构造函数初始化一个空表
dbms_output.put_line(v_tab.count);
for rec in (select * from emp where empno < 100) loop
i := i + 1;
v_tab.extend;--增加一条空表
v_tab(i).empno := rec.EMPNO;
v_tab(i).ename := rec.ENAME;
v_tab(i).job := rec.JOB;
v_tab(i).mgr := rec.MGR;
v_tab(i).hiredate := rec.HIREDATE;
v_tab(i).sal := rec.SAL;
v_tab(i).comm := rec.DEPTNO;
end loop;
v_count := v_tab.count;
dbms_output.put_line(v_count);
for n in 1 .. v_count loop
dbms_output.put_line(v_tab(n).empno || '=' || v_tab(n).ename);
end loop;
dbms_output.put_line('---------------------------');
v_tab.extend(5,3);--用extend(5,3)方法,在v_tab的末尾复制5个一样的第3条元素
v_count := v_tab.count;
dbms_output.put_line(v_count);
for n in 1 .. v_count loop
dbms_output.put_line(v_tab(n).empno || '=' || v_tab(n).ename);
end loop;
end;