为所有雇员增加工资,工资在 1000 以内的增加 30%,工资在 1000~2000之间的增加 20%, 2000 以上的增加 10%。
2016-06-01 14:43
399 查看
--为所有雇员增加工资,工资在 1000 以内的增加 30%,工资在 1000~2000
--之间的增加 20%, 2000 以上的增加 10%。
--分析:if 迭代
--游标:c_emp :select ename,sal from emp; 变量:v_empno,v_name,v_sal
set serveroutput on
declare
v_empno emp.empno%type;
v_name emp.ename%type;
v_sal emp.sal%type;
cursor c_emp is select empno,ename,sal from emp;
begin
dbms_output.put_line(rpad('姓名',10)||rpad('旧薪资',10)||rpad('新薪资',10));
open c_emp;
loop
fetch c_emp into v_empno,v_name,v_sal;
exit when c_emp%notfound;
if v_sal < 1000 then
update emp set sal = sal*1.3
where empno=v_empno;
commit;
dbms_output.put_line(rpad(v_name,10)||rpad(v_sal,8)||rpad(v_sal*1.3,8));
elsif v_sal >=1000 and v_sal <2000 then
update emp set sal = sal*1.2
where empno=v_empno;
commit;
dbms_output.put_line(rpad(v_name,10)||rpad(v_sal,8)||rpad(v_sal*1.2,8));
else update emp set sal = sal * 1.1
where empno=v_empno;
commit;
dbms_output.put_line(rpad(v_name,10)||rpad(v_sal,8)||rpad(v_sal*1.1,8));
end if;
end loop;
close c_emp;
end;
--之间的增加 20%, 2000 以上的增加 10%。
--分析:if 迭代
--游标:c_emp :select ename,sal from emp; 变量:v_empno,v_name,v_sal
set serveroutput on
declare
v_empno emp.empno%type;
v_name emp.ename%type;
v_sal emp.sal%type;
cursor c_emp is select empno,ename,sal from emp;
begin
dbms_output.put_line(rpad('姓名',10)||rpad('旧薪资',10)||rpad('新薪资',10));
open c_emp;
loop
fetch c_emp into v_empno,v_name,v_sal;
exit when c_emp%notfound;
if v_sal < 1000 then
update emp set sal = sal*1.3
where empno=v_empno;
commit;
dbms_output.put_line(rpad(v_name,10)||rpad(v_sal,8)||rpad(v_sal*1.3,8));
elsif v_sal >=1000 and v_sal <2000 then
update emp set sal = sal*1.2
where empno=v_empno;
commit;
dbms_output.put_line(rpad(v_name,10)||rpad(v_sal,8)||rpad(v_sal*1.2,8));
else update emp set sal = sal * 1.1
where empno=v_empno;
commit;
dbms_output.put_line(rpad(v_name,10)||rpad(v_sal,8)||rpad(v_sal*1.1,8));
end if;
end loop;
close c_emp;
end;
相关文章推荐
- 读取任意行数据
- Android Reader -- 一个简单的网络通信APP
- SuperMap iMobile 8C展示
- 乐视发布三款第4代超级电视 打造大屏游戏生态
- Mysql事务详解(二)事务的隔离性和容易引起的问题
- java的征途
- 绝命中的一助linux程序加载器ld-linux.so中的LD_PRELOAD预加载库
- 宏定义中是使用 const 还是 使用 define
- 在Docker Swarm上部署Apache Storm:第2部分
- 解决Possible missing firmware告警
- Linux课题实践三——程序破解
- Java 遍历Map时 删除元素
- 远程连接mysql
- ios判断手机中是否安装了某个App
- 面向对象编程的基本原则
- iOS中如何让多个空格替换成一个空格
- ViewPager无限轮播
- PHP Warning: mkdir() [function.mkdir]: Permission denied in解决方法
- 【JavaScript】函数节流
- RemoveDuplicatesFromSortedArrayI II,移除有序数组里的重复元素以及移除数组里的某个元素