老师这堂课讲的程序设计有点小问题,不知道老师有没有考虑到,这堂课的题目中说求每年中入职员工的总人数, 那么一个公司从成立到现在50年, 那么求这50年每年进入的员工数, 是不是要定义50个变量; 还有老师之前定义的变量很显然是知道其数据结果, 按照正常的逻辑很显然是不符合理的;最后在if else语句不应该是else把最后筛选的结果全部归纳为87的, 很显示这样程序是不符合实际的, 程序的健壮性不够。希望老师能给予改进
最后统计直接用count就行了, 不用sum
是的,楼主正解!这段讲解的有问题,老师是根据结果来写的,通常是不知道有多少个年份的
declare
cursor emp2 is
select to_char(hiredate,'yyyy'),count(empno) from szh_emp group by to_char(hiredate,'yyyy');
cyear varchar2(4);
cou number(5);
total number(5);
begin
open emp2;
loop
fetch emp2 into cyear,cou;
exit when emp2%notfound;
dbms_output.put_line(cyear||'有'||cou||'人');
end loop;
select sum(count(empno))into total from szh_emp group by to_char(hiredate,'yyyy');
dbms_output.put_line('一共有'||total);
close emp2;
end;
谢谢亲的建议:)