在plsql 中,根据以下两个问题编写两段代码,怎么编写??非常感谢!!

1、编写一个过程,输入一个员工编号,如果该员工的职位是PRESIDENT,就给他的工资增加1000,如果该员工的职位的事MANAGER就给他的工资增加500,其他职位的员... 1、编写一个过程,输入一个员工编号,
如果该员工的职位是PRESIDENT,就给他的工资增加1000,
如果该员工的职位的事MANAGER就给他的工资增加500,
其他职位的员工工资增加200.
2、先创建两个表,一个是emp_bak1,一个是emp_bak2,表结构和emp完全相同;
然后将emp表中薪资大于平均薪资水平的员工记录插入第一张表emp_bak1中,
将小于平均薪资水平的员工记录插入第二张表emp_bak2中。
必须使用到游标机制。

非常感谢.
展开
 我来答
cailong511
2015-02-15 · TA获得超过340个赞
知道小有建树答主
回答量:286
采纳率:0%
帮助的人:134万
展开全部
1 假设更新emp表
create procedure my_pro is
begin
update emp set sal=
(case
when job='PRESIDENT' then sal+1000
when job='MANAGER' then sal+500
else sal+200
end);
commit;
end;
/

2 create table emp_bak1 as select * from emp where 1=2;
create table emp_bak2 as select * from emp where 1=2;

insert into emp_bak1 select * from emp where sal>(select avg(sal) from emp);
insert into emp_bak2 select * from emp where sal<(select avg(sal) from emp);

一定要用游标的话

declare
avgsal number;
cursor emp_cur is select avg(sal) a from emp;
begin
open emp_cur;
fetch emp_cur into avgsal ;
insert into emp_bak1 select * from emp where sal>avgsal;
insert into emp_bak2 select * from emp where sal<avgsal;
commit;
close emp_cur;
end;
/
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式