oracle PLSQL cursor和循环结合使用
/*for循环和cursor*/
declare
v_empno number(5);
v_ename varchar2(100);
cursor e_cur is
select empno, ename from scott.emp;
begin
open e_cur;
loop --进行循环
fetch e_cur
into v_empno, v_ename;
exit when e_cur%notfound;
dbms_output.put_line('用户ID:' || v_empno || ' 用户名: ' || v_ename);
end loop; --使用完成之后,则不需要关闭
end;
/*while和cusor使用*/
declare
v_empno number(5);
v_ename varchar2(100);
cursor e_cur is
select empno, ename from scott.emp;
begin
open e_cur;
fetch e_cur
into v_empno, v_ename; --进入while循环前需要先打开cursor
while e_cur%found loop
dbms_output.put_line('用户ID:' || v_empno || ' 用户名: ' || v_ename);
fetch e_cur
into v_empno, v_ename; --获取下一条数据
end loop;
close e_cur; --使用完成需要关闭
end;