oracle sql 为scott用户下的EMP表加工资
为所有人长工资,标准是:10部门长10%;20部门长15%;30部门长20%其他部门长18%(要求用DECODE函数)mergeintoempeusing(selecte...
为所有人长工资,标准是:10部门长10%;20部门长15%;30部门长20%其他部门长18%(要求用DECODE函数)
merge into emp e using
(
select ename as ename,
decode(deptno,10,sal+sal*0.1,20,sal+sal*0.15,30,sal+sal*0.2,sal+sal*0.18) as sal
from emp
) tmp
on
(
e.ename=tmp.ename
)
when matched then
update set
(
e.sal=tmp.sal
)
;
不知道错在哪里。。 展开
merge into emp e using
(
select ename as ename,
decode(deptno,10,sal+sal*0.1,20,sal+sal*0.15,30,sal+sal*0.2,sal+sal*0.18) as sal
from emp
) tmp
on
(
e.ename=tmp.ename
)
when matched then
update set
(
e.sal=tmp.sal
)
;
不知道错在哪里。。 展开
2个回答
展开全部
select ename,decode(deptno,10,sal*1.1,20,sal*1.15,30,sal*1.2,sal*1.18) from emp
更多追问追答
追问
这句我写的没错啊。。单独执行可以通过的啊
追答
你是要修改emp表吧?把里边的sal字段给换成涨工资后的工资?
update emp set sal = decode(deptno,10,sal*1.1,20,sal*1.15,30,sal*1.2,sal*1.18) ;
commit;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询