本文主要是介绍PL/SQL实现按员工的工种涨工资,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:按员工的工种涨工资,总裁涨1000,经理涨800,其他人涨400。
java伪代码:
ResultSet rs = "select empno,job from emp";while(rs.next()) {int eno = rs.getInt("empno");String job = rs.getString("job");if("PRESIDENT".equals(job)) {update emp set sal = sal + 1000 where empno = eno;}else if("MANAGER".equals(job)){update emp set sal = sal + 800 where empno = eno;}elseupdate emp set sal = sal + 400 where empno = eno; }
PL/SQL实现:
-- 给员工涨工资,总裁1000 经理800 其他400
declare --定义光标cursor cemp is select empno,job from emp;pempno emp.empno%type;pjob emp.job%type;
beginrollback; --打开光标open cemp; loop--取一个员工fetch cemp into pempno,pjob;exit when cemp%notfound;--判断职位if pjob = 'PRESIDENT' then update emp set sal=sal+1000 where empno=pempno;elsif pjob = 'MANAGER' then update emp set sal=sal+800 where empno=pempno;else update emp set sal=sal+400 where empno=pempno;end if;end loop;--关闭光标close cemp;--提交 ----> why?: 事务 ACIDcommit;dbms_output.put_line('完成');
end;
/
执行前我们先查询一下工资:
select ename,job,sal from emp;
结果:
执行后:
从这我们可以看到实现了按职位涨工资
这篇关于PL/SQL实现按员工的工种涨工资的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!