已用时间: 00: 00: 00.16
16:27:22 SQL> create or replace procedure tes as
16:27:26 2 type refcursor is ref cursor;
16:27:26 3 i integer:=1;
16:27:26 4 tp_a integer;
16:27:26 5 cur refcursor;
16:27:26 6 type arra is array(10) of integer;
16:27:26 7 arr1 arra:=arra();
16:27:26 8 begin
16:27:26 9 open cur for select a from t1;
16:27:26 10 loop
16:27:26 11 fetch cur into tp_a;
16:27:26 12 exit when cur%notfound;
16:27:26 13 arr1.extend;
16:27:26 14 arr1(i):=tp_a;
16:27:26 15 dbms_output.put_line(arr1(i));
16:27:26 16 i:=i+1;
16:27:26 17 end loop;
16:27:26 18 close cur;
16:27:26 19 end;
16:27:26 20 /
SQL> DECLARE
2 TYPE refCousor IS REF CURSOR;
3 cur_sal refCousor;
4 Type_job emp.job%TYPE;
5 BEGIN
6 OPEN cur_sal FOR SELECT DISTINCT job FROM emp WHERE sal > 2000;
7 LOOP
8 FETCH cur_sal INTO Type_job;
9 EXIT WHEN cur_sal%NOTFOUND;
10 DBMS_OUTPUT.PUT_LINE('JOB is:'||Type_job);
11 END LOOP;
12 CLOSE cur_sal;
13 END;
14 /
JOB is:ANALYST
JOB is:MANAGER
JOB is:PRESIDENT