SQL> declare
2 type t_rec1 is table of t%rowtype;
3 t_tab1 t_rec1;
4 cursor c1 is select id,weight from t where id<3;
5 type t_rec2 is table of c1%rowtype;
6 t_tab2 t_rec2;
7 begin
8 --将表t中的数据放到t_tab1中
9 select * bulk collect into t_tab1 from t;
10 DBMS_OUTPUT.PUT_LINE('t_tab1中的记录数:'||t_tab1.count);
11 --输出t_tab1中的记录
12 FOR i in t_tab1.FIRST .. t_tab1.LAST
13 loop
14 dbms_output.put_line('ID: '||t_tab1(i).id||',QUALITY: '||t_tab1(i).QUALITY||',WEIGHT: '||t_tab1(i).weight);
15 end loop;
16 --将表t中的部分数据放到t_tab2中
17 select id,weight bulk collect into t_tab2 from t;
18 DBMS_OUTPUT.PUT_LINE('t_tab2中的记录数:'||t_tab2.count);
19 for i in t_tab2.first .. t_tab2.last
20 loop
21 dbms_output.put_line('ID: '||t_tab2(i).id||',WEIGHT: '||t_tab2(i).weight);
22 end loop;
23 end ;
24 /
t_tab1中的记录数:10
ID: 1,QUALITY: A,WEIGHT: 100
ID: 2,QUALITY: A,WEIGHT: 2
ID: 3,QUALITY: A,WEIGHT: 3
ID: 4,QUALITY: A,WEIGHT: 4
ID: 5,QUALITY: A,WEIGHT: 5
ID: 6,QUALITY: A,WEIGHT: 6
ID: 7,QUALITY: A,WEIGHT: 7
ID: 8,QUALITY: A,WEIGHT: 8
ID: 9,QUALITY: A,WEIGHT: 9
ID: 10,QUALITY: A,WEIGHT: 10
t_tab2中的记录数:10
ID: 1,WEIGHT: 100
ID: 2,WEIGHT: 2
ID: 3,WEIGHT: 3
ID: 4,WEIGHT: 4
ID: 5,WEIGHT: 5
ID: 6,WEIGHT: 6
ID: 7,WEIGHT: 7
ID: 8,WEIGHT: 8
ID: 9,WEIGHT: 9
ID: 10,WEIGHT: 10
PL/SQL 过程已成功完成。