17,082
社区成员
发帖
与我相关
我的任务
分享
--使用游标可以返回数据集合
--你也可以使用联合数组,返回表中批量的数据:
SQL> set serveroutput on;
SQL> declare
2 type emp_type is table of varchar2(20);
3 v_ename emp_type;
4 begin
5 select ename bulk collect into v_ename from emp order by sal;
6 for i in 1..v_ename.count loop
7 if i=1 then
8 dbms_output.put_line('首条数据:'||v_ename(i));
9 end if;
10 if i>1 then
11 dbms_output.put_line('本条数据:'||v_ename(i)||
12 ' 上一条数据:'||v_ename(i-1));
13 end if;
14 end loop;
15 end;
16 /
首条数据:SMITH
本条数据:JAMES 上一条数据:SMITH
本条数据:ADAMS 上一条数据:JAMES
本条数据:WARD 上一条数据:ADAMS
本条数据:MARTIN 上一条数据:WARD
本条数据:MILLER 上一条数据:MARTIN
本条数据:TURNER 上一条数据:MILLER
本条数据:ALLEN 上一条数据:TURNER
本条数据:CLARK 上一条数据:ALLEN
本条数据:BLAKE 上一条数据:CLARK
本条数据:JONES 上一条数据:BLAKE
本条数据:FORD 上一条数据:JONES
本条数据:SCOTT 上一条数据:FORD
本条数据:KING 上一条数据:SCOTT
PL/SQL procedure successfully completed