为了账号安全,请及时绑定邮箱和手机立即绑定

Oracle数据库开发必备利器之PL/SQL基础

难度初级
时长 3小时22分
学习人数
综合评分9.57
114人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.5 逻辑清晰
状态: 失败 -测试失败: IO 错误: Undefined Error
结束了,谢谢老师!第三次看了,感谢老师
set serveroutput on
declare
cursor cemp(dno number) is select ename from emp where empno=dno;
pename emp.ename%type;

begin
open cemp(10);
LOOP
fetch cemp into pename;
exit when cemp%notfound;
dbms_output.put_line(pename);
end loop;

close cemp;
end;
/
为啥我没有结果
光标又叫做游标,代表了一个结果集。好比是jdbc中的Result Set集
代码段三:
close emp_cursor;
dbms_output.put_line('涨工资人数 工资总额');
dbms_output.put_line(rpad(countsum,8,' ')||' '||rpad(totalsal,8,' '));
end;
代码段二:
loop
exit when totalsal>50000;
fetch emp_cursor into cempno,csal ;
exit when emp_cursor%notfound;
if totalsal+csal*0.1<=50000 then --这一句很关键,如果没有这个判断的话,总工资可能会超过5万。
update emp set sal=sal*1.1 where empno=cempno;
countsum:=countsum+1;
totalsal:=totalsal+csal*0.1;
end if;
end loop;
commit;
由于一次不能发表超过300个字,所以只能分散发布了:
代码段一:
set serveroutput on;
declare
cursor emp_cursor is
select empno,sal from emp order by sal asc;
countsum number :=0;
totalsal emp.sal%type;
cempno emp.empno%type;
csal emp.sal%type;

begin
select sum(sal) into totalsal from emp;
open emp_cursor;
按照老师的思路,我编写了如下代码:修正了总工资超过五万的小bug,运行之后没有问题,各位可以借鉴一下,如果有更好的方法欢迎交流,谢谢:
我用sqldeveloper建立sys、system等可以连接,但是scott账户不行,提示scott账户锁定。可是我在PL/SQL上可以连接,scott的确也解锁了、
涨工资……(涨工资)……((涨工资))…………
妥妥的老师,感谢
loop
exit when countsal > 50000;
fetch cemp into pempno,psal;
exit when cemp%notfound;
exit when (countsal+psal*0.1) > 50000;
教程非常好、谢谢老师。
课程须知
亲,要学习本门课程只需要熟练使用Oracle的SQL语句就可以了,可以参考慕课网的课程《Oracle数据库开发必备利器之SQL基础》呦!
老师告诉你能学到什么?
1、能够熟练掌握PL/SQL的基本语法 2、能够熟练使用光标和例外 3、能够熟练使用PL/SQL进行开发

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消