猿问

oracle的循环问题

declare
ptitle varchar(20);--记录员工的工种
cursor cemp is select ename,sal from emp;
pename emp.ename%type;
psal emp.sal%type;
begin
--打开光标
open cemp;
loop
--取当前的记录
fetch cemp into pename,psal;
dbms_output.put_line(pename||'的薪水是'||psal);//****
--退出条件
exit when cemp%notfound;
end loop; 
close cemp;
end;

为什么把****这一行放在退出条件之前最后一条会执行两遍??而放在退出条件之后就是正确的结果??求大神讲解下.谢谢...



学霸猿
浏览 1450回答 1
1回答

Its_forever

一个是先执行再判断,一个是先判断再执行。
随时随地看视频慕课网APP
我要回答